/export/starexec/sandbox2/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- KILLED proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, INF). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 474 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), 2 ms] (10) typed CpxTrs (11) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (12) TRS for Loop Detection (13) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (14) CpxTRS (15) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (16) CpxRelTRS (17) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxWeightedTrs (19) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxTypedWeightedTrs (21) CompletionProof [UPPER BOUND(ID), 0 ms] (22) CpxTypedWeightedCompleteTrs (23) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 15 ms] (24) CpxRNTS (25) CompletionProof [UPPER BOUND(ID), 0 ms] (26) CpxTypedWeightedCompleteTrs (27) NarrowingProof [BOTH BOUNDS(ID, ID), 1966 ms] (28) CpxTypedWeightedCompleteTrs (29) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 6 ms] (30) CpxRNTS (31) SimplificationProof [BOTH BOUNDS(ID, ID), 20 ms] (32) CpxRNTS (33) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (34) CdtProblem (35) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtLeafRemovalProof [ComplexityIfPolyImplication, 3 ms] (42) CdtProblem (43) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 65 ms] (44) CdtProblem (45) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 24 ms] (46) CdtProblem (47) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 24 ms] (62) CdtProblem (63) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 23 ms] (66) CdtProblem (67) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 26 ms] (70) CdtProblem (71) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 66 ms] (74) CdtProblem (75) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 2 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 64 ms] (82) CdtProblem (83) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 5 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 33 ms] (92) CdtProblem (93) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 29 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (102) CdtProblem (103) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 56 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 14 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 59 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 47 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 4 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 27 ms] (118) CdtProblem (119) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 36 ms] (122) CdtProblem (123) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (124) CdtProblem (125) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 12 ms] (144) CdtProblem (145) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 22 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 3 ms] (148) CdtProblem (149) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 18 ms] (152) CdtProblem (153) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 12 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 19 ms] (158) CdtProblem (159) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 51 ms] (160) CdtProblem (161) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (162) CdtProblem (163) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 7 ms] (164) 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(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0)) -> mark(0) active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0)) -> mark(0) active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0) -> active(0) mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(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(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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(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(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0)) -> mark(0) active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0)) -> mark(0) active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0) -> active(0) mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(X) The (relative) TRS S consists of the following rules: 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(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(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0)) -> mark(0) active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0)) -> mark(0) active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0) -> active(0) mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(X) The (relative) TRS S consists of the following rules: 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(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(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0')) -> mark(0') active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0')) -> mark(0') active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0')) -> mark(0') active(half(s(0'))) -> mark(0') active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0') -> active(0') mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(X) The (relative) TRS S consists of the following rules: 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: active(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0')) -> mark(0') active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0')) -> mark(0') active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0')) -> mark(0') active(half(s(0'))) -> mark(0') active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0') -> active(0') mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(X) 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(encArg(x_1)) Types: active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half 0' :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half half :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encArg :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_half :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_0 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_half :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half hole_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half1_3 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half2_3 :: Nat -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: active, mark, cons, recip, sqr, terms, s, add, dbl, first, half, encArg They will be analysed ascendingly in the following order: active = mark cons < active recip < active sqr < active terms < active s < active add < active dbl < active first < active half < active active < encArg cons < mark recip < mark sqr < mark terms < mark s < mark add < mark dbl < mark first < mark half < mark mark < encArg cons < encArg recip < encArg sqr < encArg terms < encArg s < encArg add < encArg dbl < encArg first < encArg half < encArg ---------------------------------------- (10) Obligation: Innermost TRS: Rules: active(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0')) -> mark(0') active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0')) -> mark(0') active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0')) -> mark(0') active(half(s(0'))) -> mark(0') active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0') -> active(0') mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(X) 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0' encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(encArg(x_1)) Types: active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half 0' :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half half :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encArg :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_half :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_0 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_half :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half hole_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half1_3 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half2_3 :: Nat -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half Generator Equations: gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half2_3(0) <=> 0' gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half2_3(+(x, 1)) <=> cons_active(gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half2_3(x)) The following defined symbols remain to be analysed: cons, active, mark, recip, sqr, terms, s, add, dbl, first, half, encArg They will be analysed ascendingly in the following order: active = mark cons < active recip < active sqr < active terms < active s < active add < active dbl < active first < active half < active active < encArg cons < mark recip < mark sqr < mark terms < mark s < mark add < mark dbl < mark first < mark half < mark mark < encArg cons < encArg recip < encArg sqr < encArg terms < encArg s < encArg add < encArg dbl < encArg first < encArg half < encArg ---------------------------------------- (11) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (12) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0)) -> mark(0) active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0)) -> mark(0) active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0) -> active(0) mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(X) The (relative) TRS S consists of the following rules: 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(encArg(x_1)) Rewrite Strategy: INNERMOST ---------------------------------------- (13) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (14) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) active(sqr(0)) -> mark(0) active(sqr(s(X))) -> mark(s(add(sqr(X), dbl(X)))) active(dbl(0)) -> mark(0) active(dbl(s(X))) -> mark(s(s(dbl(X)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(X)))) -> mark(s(half(X))) active(half(dbl(X))) -> mark(X) mark(terms(X)) -> active(terms(mark(X))) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(recip(X)) -> active(recip(mark(X))) mark(sqr(X)) -> active(sqr(mark(X))) mark(s(X)) -> active(s(mark(X))) mark(0) -> active(0) mark(add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(dbl(X)) -> active(dbl(mark(X))) mark(first(X1, X2)) -> active(first(mark(X1), mark(X2))) mark(nil) -> active(nil) mark(half(X)) -> active(half(mark(X))) terms(mark(X)) -> terms(X) terms(active(X)) -> terms(X) cons(mark(X1), X2) -> cons(X1, X2) cons(X1, mark(X2)) -> cons(X1, X2) cons(active(X1), X2) -> cons(X1, X2) cons(X1, active(X2)) -> cons(X1, X2) recip(mark(X)) -> recip(X) recip(active(X)) -> recip(X) sqr(mark(X)) -> sqr(X) sqr(active(X)) -> sqr(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) 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) dbl(mark(X)) -> dbl(X) dbl(active(X)) -> dbl(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) half(mark(X)) -> half(X) half(active(X)) -> half(X) 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(encArg(x_1)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (15) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (16) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: mark(0) -> active(0) mark(nil) -> active(nil) active(c_sqr(c_s(X))) -> mark(s(add(sqr(X), dbl(X)))) add(c_active(X1), X2) -> add(X1, X2) first(c_active(X1), X2) -> first(X1, X2) add(X1, c_mark(X2)) -> add(X1, X2) mark(c_s(X)) -> active(s(mark(X))) mark(c_add(X1, X2)) -> active(add(mark(X1), mark(X2))) mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) active(c_dbl(0)) -> mark(0) sqr(c_mark(X)) -> sqr(X) recip(c_mark(X)) -> recip(X) terms(c_active(X)) -> terms(X) mark(c_recip(X)) -> active(recip(mark(X))) cons(c_mark(X1), X2) -> cons(X1, X2) s(c_active(X)) -> s(X) mark(c_half(X)) -> active(half(mark(X))) first(X1, c_mark(X2)) -> first(X1, X2) active(c_half(c_s(c_s(X)))) -> mark(s(half(X))) active(c_half(c_dbl(X))) -> mark(X) mark(c_dbl(X)) -> active(dbl(mark(X))) cons(X1, c_active(X2)) -> cons(X1, X2) half(c_active(X)) -> half(X) 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) active(c_terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) add(c_mark(X1), X2) -> add(X1, X2) mark(c_terms(X)) -> active(terms(mark(X))) sqr(c_active(X)) -> sqr(X) add(X1, c_active(X2)) -> add(X1, X2) terms(c_mark(X)) -> terms(X) s(c_mark(X)) -> s(X) active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) first(c_mark(X1), X2) -> first(X1, X2) half(c_mark(X)) -> half(X) active(c_dbl(c_s(X))) -> mark(s(s(dbl(X)))) active(c_add(0, X)) -> mark(X) cons(c_active(X1), X2) -> cons(X1, X2) active(c_half(0)) -> mark(0) mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) recip(c_active(X)) -> recip(X) dbl(c_mark(X)) -> dbl(X) active(c_half(c_s(0))) -> mark(0) mark(c_sqr(X)) -> active(sqr(mark(X))) dbl(c_active(X)) -> dbl(X) active(c_sqr(0)) -> mark(0) active(c_first(0, X)) -> mark(nil) The (relative) TRS S consists of the following rules: 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_terms(x_1)) -> terms(encArg(x_1)) encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) encArg(cons_recip(x_1)) -> recip(encArg(x_1)) encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) encArg(cons_half(x_1)) -> half(encArg(x_1)) encode_active(x_1) -> active(encArg(x_1)) encode_terms(x_1) -> terms(encArg(x_1)) encode_mark(x_1) -> mark(encArg(x_1)) encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) encode_recip(x_1) -> recip(encArg(x_1)) encode_sqr(x_1) -> sqr(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_0 -> 0 encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) encode_dbl(x_1) -> dbl(encArg(x_1)) encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) encode_nil -> nil encode_half(x_1) -> half(encArg(x_1)) s(x0) -> c_s(x0) sqr(x0) -> c_sqr(x0) active(x0) -> c_active(x0) recip(x0) -> c_recip(x0) half(x0) -> c_half(x0) add(x0, x1) -> c_add(x0, x1) terms(x0) -> c_terms(x0) dbl(x0) -> c_dbl(x0) cons(x0, x1) -> c_cons(x0, x1) first(x0, x1) -> c_first(x0, x1) mark(x0) -> c_mark(x0) Rewrite Strategy: INNERMOST ---------------------------------------- (17) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (18) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] active(c_sqr(c_s(X))) -> mark(s(add(sqr(X), dbl(X)))) [1] add(c_active(X1), X2) -> add(X1, X2) [1] first(c_active(X1), X2) -> first(X1, X2) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), mark(X2))) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_dbl(0)) -> mark(0) [1] sqr(c_mark(X)) -> sqr(X) [1] recip(c_mark(X)) -> recip(X) [1] terms(c_active(X)) -> terms(X) [1] mark(c_recip(X)) -> active(recip(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] mark(c_half(X)) -> active(half(mark(X))) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] active(c_half(c_s(c_s(X)))) -> mark(s(half(X))) [1] active(c_half(c_dbl(X))) -> mark(X) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] half(c_active(X)) -> half(X) [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] active(c_terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] mark(c_terms(X)) -> active(terms(mark(X))) [1] sqr(c_active(X)) -> sqr(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] terms(c_mark(X)) -> terms(X) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] half(c_mark(X)) -> half(X) [1] active(c_dbl(c_s(X))) -> mark(s(s(dbl(X)))) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_half(0)) -> mark(0) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] recip(c_active(X)) -> recip(X) [1] dbl(c_mark(X)) -> dbl(X) [1] active(c_half(c_s(0))) -> mark(0) [1] mark(c_sqr(X)) -> active(sqr(mark(X))) [1] dbl(c_active(X)) -> dbl(X) [1] active(c_sqr(0)) -> mark(0) [1] active(c_first(0, X)) -> mark(nil) [1] 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_terms(x_1)) -> terms(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_recip(x_1)) -> recip(encArg(x_1)) [0] encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_terms(x_1) -> terms(encArg(x_1)) [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_recip(x_1) -> recip(encArg(x_1)) [0] encode_sqr(x_1) -> sqr(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_0 -> 0 [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_dbl(x_1) -> dbl(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_half(x_1) -> half(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(x0) [0] half(x0) -> c_half(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] terms(x0) -> c_terms(x0) [0] dbl(x0) -> c_dbl(x0) [0] cons(x0, x1) -> c_cons(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] mark(x0) -> c_mark(x0) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (19) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (20) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] active(c_sqr(c_s(X))) -> mark(s(add(sqr(X), dbl(X)))) [1] add(c_active(X1), X2) -> add(X1, X2) [1] first(c_active(X1), X2) -> first(X1, X2) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), mark(X2))) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_dbl(0)) -> mark(0) [1] sqr(c_mark(X)) -> sqr(X) [1] recip(c_mark(X)) -> recip(X) [1] terms(c_active(X)) -> terms(X) [1] mark(c_recip(X)) -> active(recip(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] mark(c_half(X)) -> active(half(mark(X))) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] active(c_half(c_s(c_s(X)))) -> mark(s(half(X))) [1] active(c_half(c_dbl(X))) -> mark(X) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] half(c_active(X)) -> half(X) [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] active(c_terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] mark(c_terms(X)) -> active(terms(mark(X))) [1] sqr(c_active(X)) -> sqr(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] terms(c_mark(X)) -> terms(X) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] half(c_mark(X)) -> half(X) [1] active(c_dbl(c_s(X))) -> mark(s(s(dbl(X)))) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_half(0)) -> mark(0) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] recip(c_active(X)) -> recip(X) [1] dbl(c_mark(X)) -> dbl(X) [1] active(c_half(c_s(0))) -> mark(0) [1] mark(c_sqr(X)) -> active(sqr(mark(X))) [1] dbl(c_active(X)) -> dbl(X) [1] active(c_sqr(0)) -> mark(0) [1] active(c_first(0, X)) -> mark(nil) [1] 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_terms(x_1)) -> terms(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_recip(x_1)) -> recip(encArg(x_1)) [0] encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_terms(x_1) -> terms(encArg(x_1)) [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_recip(x_1) -> recip(encArg(x_1)) [0] encode_sqr(x_1) -> sqr(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_0 -> 0 [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_dbl(x_1) -> dbl(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_half(x_1) -> half(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(x0) [0] half(x0) -> c_half(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] terms(x0) -> c_terms(x0) [0] dbl(x0) -> c_dbl(x0) [0] cons(x0, x1) -> c_cons(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] mark(x0) -> c_mark(x0) [0] The TRS has the following type information: mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half 0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half c_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half cons_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half encode_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half Rewrite Strategy: INNERMOST ---------------------------------------- (21) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_terms(v0) -> null_encode_terms [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_recip(v0) -> null_encode_recip [0] encode_sqr(v0) -> null_encode_sqr [0] encode_s(v0) -> null_encode_s [0] encode_0 -> null_encode_0 [0] encode_add(v0, v1) -> null_encode_add [0] encode_dbl(v0) -> null_encode_dbl [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_half(v0) -> null_encode_half [0] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [0] half(v0) -> null_half [0] add(v0, v1) -> null_add [0] terms(v0) -> null_terms [0] dbl(v0) -> null_dbl [0] cons(v0, v1) -> null_cons [0] first(v0, v1) -> null_first [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_terms, null_encode_mark, null_encode_cons, null_encode_recip, null_encode_sqr, null_encode_s, null_encode_0, null_encode_add, null_encode_dbl, null_encode_first, null_encode_nil, null_encode_half, null_s, null_sqr, null_active, null_recip, null_half, null_add, null_terms, null_dbl, null_cons, null_first, null_mark ---------------------------------------- (22) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] active(c_sqr(c_s(X))) -> mark(s(add(sqr(X), dbl(X)))) [1] add(c_active(X1), X2) -> add(X1, X2) [1] first(c_active(X1), X2) -> first(X1, X2) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), mark(X2))) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_dbl(0)) -> mark(0) [1] sqr(c_mark(X)) -> sqr(X) [1] recip(c_mark(X)) -> recip(X) [1] terms(c_active(X)) -> terms(X) [1] mark(c_recip(X)) -> active(recip(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] mark(c_half(X)) -> active(half(mark(X))) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] active(c_half(c_s(c_s(X)))) -> mark(s(half(X))) [1] active(c_half(c_dbl(X))) -> mark(X) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] half(c_active(X)) -> half(X) [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] active(c_terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] mark(c_terms(X)) -> active(terms(mark(X))) [1] sqr(c_active(X)) -> sqr(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] terms(c_mark(X)) -> terms(X) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] half(c_mark(X)) -> half(X) [1] active(c_dbl(c_s(X))) -> mark(s(s(dbl(X)))) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_half(0)) -> mark(0) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] recip(c_active(X)) -> recip(X) [1] dbl(c_mark(X)) -> dbl(X) [1] active(c_half(c_s(0))) -> mark(0) [1] mark(c_sqr(X)) -> active(sqr(mark(X))) [1] dbl(c_active(X)) -> dbl(X) [1] active(c_sqr(0)) -> mark(0) [1] active(c_first(0, X)) -> mark(nil) [1] 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_terms(x_1)) -> terms(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_recip(x_1)) -> recip(encArg(x_1)) [0] encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_terms(x_1) -> terms(encArg(x_1)) [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_recip(x_1) -> recip(encArg(x_1)) [0] encode_sqr(x_1) -> sqr(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_0 -> 0 [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_dbl(x_1) -> dbl(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_half(x_1) -> half(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(x0) [0] half(x0) -> c_half(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] terms(x0) -> c_terms(x0) [0] dbl(x0) -> c_dbl(x0) [0] cons(x0, x1) -> c_cons(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_terms(v0) -> null_encode_terms [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_recip(v0) -> null_encode_recip [0] encode_sqr(v0) -> null_encode_sqr [0] encode_s(v0) -> null_encode_s [0] encode_0 -> null_encode_0 [0] encode_add(v0, v1) -> null_encode_add [0] encode_dbl(v0) -> null_encode_dbl [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_half(v0) -> null_encode_half [0] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [0] half(v0) -> null_half [0] add(v0, v1) -> null_add [0] terms(v0) -> null_terms [0] dbl(v0) -> null_dbl [0] cons(v0, v1) -> null_cons [0] first(v0, v1) -> null_first [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark 0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (23) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 nil => 1 null_encArg => 0 null_encode_active => 0 null_encode_terms => 0 null_encode_mark => 0 null_encode_cons => 0 null_encode_recip => 0 null_encode_sqr => 0 null_encode_s => 0 null_encode_0 => 0 null_encode_add => 0 null_encode_dbl => 0 null_encode_first => 0 null_encode_nil => 0 null_encode_half => 0 null_s => 0 null_sqr => 0 null_active => 0 null_recip => 0 null_half => 0 null_add => 0 null_terms => 0 null_dbl => 0 null_cons => 0 null_first => 0 null_mark => 0 ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 1 }-> mark(X) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(s(s(dbl(X)))) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 1 }-> mark(s(half(X))) :|: z = 1 + (1 + (1 + X)), X >= 0 active(z) -{ 1 }-> mark(s(add(X, Y))) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(s(add(sqr(X), dbl(X)))) :|: z = 1 + (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(cons(recip(sqr(N)), terms(s(N)))) :|: z = 1 + N, N >= 0 active(z) -{ 1 }-> mark(1) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + (1 + 0) 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 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 dbl(z) -{ 1 }-> dbl(X) :|: z = 1 + X, X >= 0 dbl(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 dbl(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 encArg(z) -{ 0 }-> terms(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> sqr(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> s(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> recip(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 }-> half(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 }-> dbl(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 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 }-> 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_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_dbl(z) -{ 0 }-> dbl(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_dbl(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 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_half(z) -{ 0 }-> half(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_mark(z) -{ 0 }-> mark(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_recip(z) -{ 0 }-> recip(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_recip(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> s(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_sqr(z) -{ 0 }-> sqr(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_sqr(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_terms(z) -{ 0 }-> terms(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_terms(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 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 half(z) -{ 1 }-> half(X) :|: z = 1 + X, X >= 0 half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 half(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 mark(z) -{ 1 }-> active(terms(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(sqr(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(s(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(recip(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(half(mark(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(dbl(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(cons(mark(X1), X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(add(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 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 recip(z) -{ 1 }-> recip(X) :|: z = 1 + X, X >= 0 recip(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 recip(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 sqr(z) -{ 1 }-> sqr(X) :|: z = 1 + X, X >= 0 sqr(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 sqr(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 terms(z) -{ 1 }-> terms(X) :|: z = 1 + X, X >= 0 terms(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 terms(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (25) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: encArg_1 encode_active_1 encode_terms_1 encode_mark_1 encode_cons_2 encode_recip_1 encode_sqr_1 encode_s_1 encode_0 encode_add_2 encode_dbl_1 encode_first_2 encode_nil encode_half_1 s_1 sqr_1 active_1 recip_1 half_1 add_2 terms_1 dbl_1 cons_2 first_2 mark_1 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_terms(v0) -> null_encode_terms [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_recip(v0) -> null_encode_recip [0] encode_sqr(v0) -> null_encode_sqr [0] encode_s(v0) -> null_encode_s [0] encode_0 -> null_encode_0 [0] encode_add(v0, v1) -> null_encode_add [0] encode_dbl(v0) -> null_encode_dbl [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_half(v0) -> null_encode_half [0] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [0] half(v0) -> null_half [0] add(v0, v1) -> null_add [0] terms(v0) -> null_terms [0] dbl(v0) -> null_dbl [0] cons(v0, v1) -> null_cons [0] first(v0, v1) -> null_first [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_terms, null_encode_mark, null_encode_cons, null_encode_recip, null_encode_sqr, null_encode_s, null_encode_0, null_encode_add, null_encode_dbl, null_encode_first, null_encode_nil, null_encode_half, null_s, null_sqr, null_active, null_recip, null_half, null_add, null_terms, null_dbl, null_cons, null_first, null_mark ---------------------------------------- (26) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: mark(0) -> active(0) [1] mark(nil) -> active(nil) [1] active(c_sqr(c_s(X))) -> mark(s(add(sqr(X), dbl(X)))) [1] add(c_active(X1), X2) -> add(X1, X2) [1] first(c_active(X1), X2) -> first(X1, X2) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_s(X)) -> active(s(mark(X))) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), mark(X2))) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_dbl(0)) -> mark(0) [1] sqr(c_mark(X)) -> sqr(X) [1] recip(c_mark(X)) -> recip(X) [1] terms(c_active(X)) -> terms(X) [1] mark(c_recip(X)) -> active(recip(mark(X))) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] mark(c_half(X)) -> active(half(mark(X))) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] active(c_half(c_s(c_s(X)))) -> mark(s(half(X))) [1] active(c_half(c_dbl(X))) -> mark(X) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] half(c_active(X)) -> half(X) [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] active(c_terms(N)) -> mark(cons(recip(sqr(N)), terms(s(N)))) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] mark(c_terms(X)) -> active(terms(mark(X))) [1] sqr(c_active(X)) -> sqr(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] terms(c_mark(X)) -> terms(X) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(X), Y)) -> mark(s(add(X, Y))) [1] first(c_mark(X1), X2) -> first(X1, X2) [1] half(c_mark(X)) -> half(X) [1] active(c_dbl(c_s(X))) -> mark(s(s(dbl(X)))) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_half(0)) -> mark(0) [1] mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) [1] recip(c_active(X)) -> recip(X) [1] dbl(c_mark(X)) -> dbl(X) [1] active(c_half(c_s(0))) -> mark(0) [1] mark(c_sqr(X)) -> active(sqr(mark(X))) [1] dbl(c_active(X)) -> dbl(X) [1] active(c_sqr(0)) -> mark(0) [1] active(c_first(0, X)) -> mark(nil) [1] 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_terms(x_1)) -> terms(encArg(x_1)) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_recip(x_1)) -> recip(encArg(x_1)) [0] encArg(cons_sqr(x_1)) -> sqr(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_dbl(x_1)) -> dbl(encArg(x_1)) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_terms(x_1) -> terms(encArg(x_1)) [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_recip(x_1) -> recip(encArg(x_1)) [0] encode_sqr(x_1) -> sqr(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_0 -> 0 [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_dbl(x_1) -> dbl(encArg(x_1)) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_half(x_1) -> half(encArg(x_1)) [0] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(x0) [0] half(x0) -> c_half(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] terms(x0) -> c_terms(x0) [0] dbl(x0) -> c_dbl(x0) [0] cons(x0, x1) -> c_cons(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_terms(v0) -> null_encode_terms [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_recip(v0) -> null_encode_recip [0] encode_sqr(v0) -> null_encode_sqr [0] encode_s(v0) -> null_encode_s [0] encode_0 -> null_encode_0 [0] encode_add(v0, v1) -> null_encode_add [0] encode_dbl(v0) -> null_encode_dbl [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_half(v0) -> null_encode_half [0] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [0] half(v0) -> null_half [0] add(v0, v1) -> null_add [0] terms(v0) -> null_terms [0] dbl(v0) -> null_dbl [0] cons(v0, v1) -> null_cons [0] first(v0, v1) -> null_first [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark 0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (27) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (28) 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(0) -> active(0) [1] mark(nil) -> active(nil) [1] active(c_sqr(c_s(c_mark(X')))) -> mark(s(add(sqr(X'), dbl(X')))) [3] active(c_sqr(c_s(c_mark(X')))) -> mark(s(add(sqr(X'), c_dbl(c_mark(X'))))) [2] active(c_sqr(c_s(c_mark(X')))) -> mark(s(add(sqr(X'), null_dbl))) [2] active(c_sqr(c_s(c_active(X'')))) -> mark(s(add(sqr(X''), dbl(X'')))) [3] active(c_sqr(c_s(c_active(X'')))) -> mark(s(add(sqr(X''), c_dbl(c_active(X''))))) [2] active(c_sqr(c_s(c_active(X'')))) -> mark(s(add(sqr(X''), null_dbl))) [2] active(c_sqr(c_s(c_mark(X3)))) -> mark(s(add(c_sqr(c_mark(X3)), dbl(X3)))) [2] active(c_sqr(c_s(c_active(X4)))) -> mark(s(add(c_sqr(c_active(X4)), dbl(X4)))) [2] active(c_sqr(c_s(X))) -> mark(s(add(c_sqr(X), c_dbl(X)))) [1] active(c_sqr(c_s(X))) -> mark(s(add(c_sqr(X), null_dbl))) [1] active(c_sqr(c_s(c_mark(X5)))) -> mark(s(add(null_sqr, dbl(X5)))) [2] active(c_sqr(c_s(c_active(X6)))) -> mark(s(add(null_sqr, dbl(X6)))) [2] active(c_sqr(c_s(X))) -> mark(s(add(null_sqr, c_dbl(X)))) [1] active(c_sqr(c_s(X))) -> mark(s(add(null_sqr, null_dbl))) [1] add(c_active(X1), X2) -> add(X1, X2) [1] first(c_active(X1), X2) -> first(X1, X2) [1] add(X1, c_mark(X2)) -> add(X1, X2) [1] mark(c_s(0)) -> active(s(active(0))) [2] mark(c_s(nil)) -> active(s(active(nil))) [2] mark(c_s(c_s(X7))) -> active(s(active(s(mark(X7))))) [2] mark(c_s(c_add(X1', X2'))) -> active(s(active(add(mark(X1'), mark(X2'))))) [2] mark(c_s(c_first(X1'', X2''))) -> active(s(active(first(mark(X1''), mark(X2''))))) [2] mark(c_s(c_recip(X8))) -> active(s(active(recip(mark(X8))))) [2] mark(c_s(c_half(X9))) -> active(s(active(half(mark(X9))))) [2] mark(c_s(c_dbl(X10))) -> active(s(active(dbl(mark(X10))))) [2] mark(c_s(c_terms(X11))) -> active(s(active(terms(mark(X11))))) [2] mark(c_s(c_cons(X12, X21))) -> active(s(active(cons(mark(X12), X21)))) [2] mark(c_s(c_sqr(X13))) -> active(s(active(sqr(mark(X13))))) [2] mark(c_s(X)) -> active(s(c_mark(X))) [1] mark(c_s(X)) -> active(s(null_mark)) [1] mark(c_add(X1, X2)) -> active(add(mark(X1), mark(X2))) [1] mark(c_first(X1, X2)) -> active(first(mark(X1), mark(X2))) [1] active(c_dbl(0)) -> mark(0) [1] sqr(c_mark(X)) -> sqr(X) [1] recip(c_mark(X)) -> recip(X) [1] terms(c_active(X)) -> terms(X) [1] mark(c_recip(0)) -> active(recip(active(0))) [2] mark(c_recip(nil)) -> active(recip(active(nil))) [2] mark(c_recip(c_s(X318))) -> active(recip(active(s(mark(X318))))) [2] mark(c_recip(c_add(X1124, X2109))) -> active(recip(active(add(mark(X1124), mark(X2109))))) [2] mark(c_recip(c_first(X1125, X2110))) -> active(recip(active(first(mark(X1125), mark(X2110))))) [2] mark(c_recip(c_recip(X319))) -> active(recip(active(recip(mark(X319))))) [2] mark(c_recip(c_half(X320))) -> active(recip(active(half(mark(X320))))) [2] mark(c_recip(c_dbl(X321))) -> active(recip(active(dbl(mark(X321))))) [2] mark(c_recip(c_terms(X322))) -> active(recip(active(terms(mark(X322))))) [2] mark(c_recip(c_cons(X1126, X2111))) -> active(recip(active(cons(mark(X1126), X2111)))) [2] mark(c_recip(c_sqr(X323))) -> active(recip(active(sqr(mark(X323))))) [2] mark(c_recip(X)) -> active(recip(c_mark(X))) [1] mark(c_recip(X)) -> active(recip(null_mark)) [1] cons(c_mark(X1), X2) -> cons(X1, X2) [1] s(c_active(X)) -> s(X) [1] mark(c_half(0)) -> active(half(active(0))) [2] mark(c_half(nil)) -> active(half(active(nil))) [2] mark(c_half(c_s(X324))) -> active(half(active(s(mark(X324))))) [2] mark(c_half(c_add(X1127, X2112))) -> active(half(active(add(mark(X1127), mark(X2112))))) [2] mark(c_half(c_first(X1128, X2113))) -> active(half(active(first(mark(X1128), mark(X2113))))) [2] mark(c_half(c_recip(X325))) -> active(half(active(recip(mark(X325))))) [2] mark(c_half(c_half(X326))) -> active(half(active(half(mark(X326))))) [2] mark(c_half(c_dbl(X327))) -> active(half(active(dbl(mark(X327))))) [2] mark(c_half(c_terms(X328))) -> active(half(active(terms(mark(X328))))) [2] mark(c_half(c_cons(X1129, X2114))) -> active(half(active(cons(mark(X1129), X2114)))) [2] mark(c_half(c_sqr(X329))) -> active(half(active(sqr(mark(X329))))) [2] mark(c_half(X)) -> active(half(c_mark(X))) [1] mark(c_half(X)) -> active(half(null_mark)) [1] first(X1, c_mark(X2)) -> first(X1, X2) [1] active(c_half(c_s(c_s(c_active(X330))))) -> mark(s(half(X330))) [2] active(c_half(c_s(c_s(c_mark(X331))))) -> mark(s(half(X331))) [2] active(c_half(c_s(c_s(X)))) -> mark(s(c_half(X))) [1] active(c_half(c_s(c_s(X)))) -> mark(s(null_half)) [1] active(c_half(c_dbl(X))) -> mark(X) [1] mark(c_dbl(0)) -> active(dbl(active(0))) [2] mark(c_dbl(nil)) -> active(dbl(active(nil))) [2] mark(c_dbl(c_s(X332))) -> active(dbl(active(s(mark(X332))))) [2] mark(c_dbl(c_add(X1130, X2115))) -> active(dbl(active(add(mark(X1130), mark(X2115))))) [2] mark(c_dbl(c_first(X1131, X2116))) -> active(dbl(active(first(mark(X1131), mark(X2116))))) [2] mark(c_dbl(c_recip(X333))) -> active(dbl(active(recip(mark(X333))))) [2] mark(c_dbl(c_half(X334))) -> active(dbl(active(half(mark(X334))))) [2] mark(c_dbl(c_dbl(X335))) -> active(dbl(active(dbl(mark(X335))))) [2] mark(c_dbl(c_terms(X336))) -> active(dbl(active(terms(mark(X336))))) [2] mark(c_dbl(c_cons(X1132, X2117))) -> active(dbl(active(cons(mark(X1132), X2117)))) [2] mark(c_dbl(c_sqr(X337))) -> active(dbl(active(sqr(mark(X337))))) [2] mark(c_dbl(X)) -> active(dbl(c_mark(X))) [1] mark(c_dbl(X)) -> active(dbl(null_mark)) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] half(c_active(X)) -> half(X) [1] active(c_first(c_s(c_active(X1133)), c_cons(Y, Z))) -> mark(cons(Y, first(X1133, Z))) [2] active(c_first(c_s(X), c_cons(Y, c_mark(X2118)))) -> mark(cons(Y, first(X, X2118))) [2] active(c_first(c_s(X), c_cons(Y, c_active(X2119)))) -> mark(cons(Y, first(X, X2119))) [2] active(c_first(c_s(c_mark(X1134)), c_cons(Y, Z))) -> mark(cons(Y, first(X1134, 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] active(c_terms(c_mark(X338))) -> mark(cons(recip(sqr(X338)), terms(s(X338)))) [3] active(c_terms(c_mark(X338))) -> mark(cons(recip(sqr(X338)), terms(c_s(c_mark(X338))))) [2] active(c_terms(c_mark(X338))) -> mark(cons(recip(sqr(X338)), terms(null_s))) [2] active(c_terms(c_active(X339))) -> mark(cons(recip(sqr(X339)), terms(s(X339)))) [3] active(c_terms(c_active(X339))) -> mark(cons(recip(sqr(X339)), terms(c_s(c_active(X339))))) [2] active(c_terms(c_active(X339))) -> mark(cons(recip(sqr(X339)), terms(null_s))) [2] active(c_terms(c_active(X340))) -> mark(cons(recip(c_sqr(c_active(X340))), terms(s(X340)))) [2] active(c_terms(c_mark(X341))) -> mark(cons(recip(c_sqr(c_mark(X341))), terms(s(X341)))) [2] active(c_terms(N)) -> mark(cons(recip(c_sqr(N)), terms(c_s(N)))) [1] active(c_terms(N)) -> mark(cons(recip(c_sqr(N)), terms(null_s))) [1] active(c_terms(c_active(X342))) -> mark(cons(recip(null_sqr), terms(s(X342)))) [2] active(c_terms(c_mark(X343))) -> mark(cons(recip(null_sqr), terms(s(X343)))) [2] active(c_terms(N)) -> mark(cons(recip(null_sqr), terms(c_s(N)))) [1] active(c_terms(N)) -> mark(cons(recip(null_sqr), terms(null_s))) [1] add(c_mark(X1), X2) -> add(X1, X2) [1] mark(c_terms(0)) -> active(terms(active(0))) [2] mark(c_terms(nil)) -> active(terms(active(nil))) [2] mark(c_terms(c_s(X344))) -> active(terms(active(s(mark(X344))))) [2] mark(c_terms(c_add(X1135, X2120))) -> active(terms(active(add(mark(X1135), mark(X2120))))) [2] mark(c_terms(c_first(X1136, X2121))) -> active(terms(active(first(mark(X1136), mark(X2121))))) [2] mark(c_terms(c_recip(X345))) -> active(terms(active(recip(mark(X345))))) [2] mark(c_terms(c_half(X346))) -> active(terms(active(half(mark(X346))))) [2] mark(c_terms(c_dbl(X347))) -> active(terms(active(dbl(mark(X347))))) [2] mark(c_terms(c_terms(X348))) -> active(terms(active(terms(mark(X348))))) [2] mark(c_terms(c_cons(X1137, X2122))) -> active(terms(active(cons(mark(X1137), X2122)))) [2] mark(c_terms(c_sqr(X349))) -> active(terms(active(sqr(mark(X349))))) [2] mark(c_terms(X)) -> active(terms(c_mark(X))) [1] mark(c_terms(X)) -> active(terms(null_mark)) [1] sqr(c_active(X)) -> sqr(X) [1] add(X1, c_active(X2)) -> add(X1, X2) [1] terms(c_mark(X)) -> terms(X) [1] s(c_mark(X)) -> s(X) [1] active(c_add(c_s(c_active(X1138)), Y)) -> mark(s(add(X1138, Y))) [2] active(c_add(c_s(X), c_mark(X2123))) -> mark(s(add(X, X2123))) [2] active(c_add(c_s(c_mark(X1139)), Y)) -> mark(s(add(X1139, Y))) [2] active(c_add(c_s(X), c_active(X2124))) -> mark(s(add(X, X2124))) [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] first(c_mark(X1), X2) -> first(X1, X2) [1] half(c_mark(X)) -> half(X) [1] active(c_dbl(c_s(c_mark(X350)))) -> mark(s(s(dbl(X350)))) [2] active(c_dbl(c_s(c_active(X351)))) -> mark(s(s(dbl(X351)))) [2] active(c_dbl(c_s(X))) -> mark(s(s(c_dbl(X)))) [1] active(c_dbl(c_s(X))) -> mark(s(s(null_dbl))) [1] active(c_add(0, X)) -> mark(X) [1] cons(c_active(X1), X2) -> cons(X1, X2) [1] active(c_half(0)) -> mark(0) [1] mark(c_cons(0, X2)) -> active(cons(active(0), X2)) [2] mark(c_cons(nil, X2)) -> active(cons(active(nil), X2)) [2] mark(c_cons(c_s(X352), X2)) -> active(cons(active(s(mark(X352))), X2)) [2] mark(c_cons(c_add(X1140, X2125), X2)) -> active(cons(active(add(mark(X1140), mark(X2125))), X2)) [2] mark(c_cons(c_first(X1141, X2126), X2)) -> active(cons(active(first(mark(X1141), mark(X2126))), X2)) [2] mark(c_cons(c_recip(X353), X2)) -> active(cons(active(recip(mark(X353))), X2)) [2] mark(c_cons(c_half(X354), X2)) -> active(cons(active(half(mark(X354))), X2)) [2] mark(c_cons(c_dbl(X355), X2)) -> active(cons(active(dbl(mark(X355))), X2)) [2] mark(c_cons(c_terms(X356), X2)) -> active(cons(active(terms(mark(X356))), X2)) [2] mark(c_cons(c_cons(X1142, X2127), X2)) -> active(cons(active(cons(mark(X1142), X2127)), X2)) [2] mark(c_cons(c_sqr(X357), X2)) -> active(cons(active(sqr(mark(X357))), X2)) [2] mark(c_cons(X1, X2)) -> active(cons(c_mark(X1), X2)) [1] mark(c_cons(X1, X2)) -> active(cons(null_mark, X2)) [1] recip(c_active(X)) -> recip(X) [1] dbl(c_mark(X)) -> dbl(X) [1] active(c_half(c_s(0))) -> mark(0) [1] mark(c_sqr(0)) -> active(sqr(active(0))) [2] mark(c_sqr(nil)) -> active(sqr(active(nil))) [2] mark(c_sqr(c_s(X358))) -> active(sqr(active(s(mark(X358))))) [2] mark(c_sqr(c_add(X1143, X2128))) -> active(sqr(active(add(mark(X1143), mark(X2128))))) [2] mark(c_sqr(c_first(X1144, X2129))) -> active(sqr(active(first(mark(X1144), mark(X2129))))) [2] mark(c_sqr(c_recip(X359))) -> active(sqr(active(recip(mark(X359))))) [2] mark(c_sqr(c_half(X360))) -> active(sqr(active(half(mark(X360))))) [2] mark(c_sqr(c_dbl(X361))) -> active(sqr(active(dbl(mark(X361))))) [2] mark(c_sqr(c_terms(X362))) -> active(sqr(active(terms(mark(X362))))) [2] mark(c_sqr(c_cons(X1145, X2130))) -> active(sqr(active(cons(mark(X1145), X2130)))) [2] mark(c_sqr(c_sqr(X363))) -> active(sqr(active(sqr(mark(X363))))) [2] mark(c_sqr(X)) -> active(sqr(c_mark(X))) [1] mark(c_sqr(X)) -> active(sqr(null_mark)) [1] dbl(c_active(X)) -> dbl(X) [1] active(c_sqr(0)) -> mark(0) [1] active(c_first(0, X)) -> mark(nil) [1] encArg(0) -> 0 [0] encArg(nil) -> nil [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_terms(x_11))) -> active(terms(encArg(x_11))) [0] encArg(cons_active(cons_cons(x_12, x_2'))) -> active(cons(encArg(x_12), encArg(x_2'))) [0] encArg(cons_active(cons_recip(x_13))) -> active(recip(encArg(x_13))) [0] encArg(cons_active(cons_sqr(x_14))) -> active(sqr(encArg(x_14))) [0] encArg(cons_active(cons_s(x_15))) -> active(s(encArg(x_15))) [0] encArg(cons_active(cons_add(x_16, x_2''))) -> active(add(encArg(x_16), encArg(x_2''))) [0] encArg(cons_active(cons_dbl(x_17))) -> active(dbl(encArg(x_17))) [0] encArg(cons_active(cons_first(x_18, x_21))) -> active(first(encArg(x_18), encArg(x_21))) [0] encArg(cons_active(cons_half(x_19))) -> active(half(encArg(x_19))) [0] encArg(cons_active(x_1)) -> active(null_encArg) [0] encArg(cons_mark(0)) -> mark(0) [0] encArg(cons_mark(nil)) -> mark(nil) [0] encArg(cons_mark(cons_active(x_110))) -> mark(active(encArg(x_110))) [0] encArg(cons_mark(cons_mark(x_111))) -> mark(mark(encArg(x_111))) [0] encArg(cons_mark(cons_terms(x_112))) -> mark(terms(encArg(x_112))) [0] encArg(cons_mark(cons_cons(x_113, x_22))) -> mark(cons(encArg(x_113), encArg(x_22))) [0] encArg(cons_mark(cons_recip(x_114))) -> mark(recip(encArg(x_114))) [0] encArg(cons_mark(cons_sqr(x_115))) -> mark(sqr(encArg(x_115))) [0] encArg(cons_mark(cons_s(x_116))) -> mark(s(encArg(x_116))) [0] encArg(cons_mark(cons_add(x_117, x_23))) -> mark(add(encArg(x_117), encArg(x_23))) [0] encArg(cons_mark(cons_dbl(x_118))) -> mark(dbl(encArg(x_118))) [0] encArg(cons_mark(cons_first(x_119, x_24))) -> mark(first(encArg(x_119), encArg(x_24))) [0] encArg(cons_mark(cons_half(x_120))) -> mark(half(encArg(x_120))) [0] encArg(cons_mark(x_1)) -> mark(null_encArg) [0] encArg(cons_terms(0)) -> terms(0) [0] encArg(cons_terms(nil)) -> terms(nil) [0] encArg(cons_terms(cons_active(x_121))) -> terms(active(encArg(x_121))) [0] encArg(cons_terms(cons_mark(x_122))) -> terms(mark(encArg(x_122))) [0] encArg(cons_terms(cons_terms(x_123))) -> terms(terms(encArg(x_123))) [0] encArg(cons_terms(cons_cons(x_124, x_25))) -> terms(cons(encArg(x_124), encArg(x_25))) [0] encArg(cons_terms(cons_recip(x_125))) -> terms(recip(encArg(x_125))) [0] encArg(cons_terms(cons_sqr(x_126))) -> terms(sqr(encArg(x_126))) [0] encArg(cons_terms(cons_s(x_127))) -> terms(s(encArg(x_127))) [0] encArg(cons_terms(cons_add(x_128, x_26))) -> terms(add(encArg(x_128), encArg(x_26))) [0] encArg(cons_terms(cons_dbl(x_129))) -> terms(dbl(encArg(x_129))) [0] encArg(cons_terms(cons_first(x_130, x_27))) -> terms(first(encArg(x_130), encArg(x_27))) [0] encArg(cons_terms(cons_half(x_131))) -> terms(half(encArg(x_131))) [0] encArg(cons_terms(x_1)) -> terms(null_encArg) [0] encArg(cons_cons(x_1, x_2)) -> cons(encArg(x_1), encArg(x_2)) [0] encArg(cons_recip(0)) -> recip(0) [0] encArg(cons_recip(nil)) -> recip(nil) [0] encArg(cons_recip(cons_active(x_1197))) -> recip(active(encArg(x_1197))) [0] encArg(cons_recip(cons_mark(x_1198))) -> recip(mark(encArg(x_1198))) [0] encArg(cons_recip(cons_terms(x_1199))) -> recip(terms(encArg(x_1199))) [0] encArg(cons_recip(cons_cons(x_1200, x_253))) -> recip(cons(encArg(x_1200), encArg(x_253))) [0] encArg(cons_recip(cons_recip(x_1201))) -> recip(recip(encArg(x_1201))) [0] encArg(cons_recip(cons_sqr(x_1202))) -> recip(sqr(encArg(x_1202))) [0] encArg(cons_recip(cons_s(x_1203))) -> recip(s(encArg(x_1203))) [0] encArg(cons_recip(cons_add(x_1204, x_254))) -> recip(add(encArg(x_1204), encArg(x_254))) [0] encArg(cons_recip(cons_dbl(x_1205))) -> recip(dbl(encArg(x_1205))) [0] encArg(cons_recip(cons_first(x_1206, x_255))) -> recip(first(encArg(x_1206), encArg(x_255))) [0] encArg(cons_recip(cons_half(x_1207))) -> recip(half(encArg(x_1207))) [0] encArg(cons_recip(x_1)) -> recip(null_encArg) [0] encArg(cons_sqr(0)) -> sqr(0) [0] encArg(cons_sqr(nil)) -> sqr(nil) [0] encArg(cons_sqr(cons_active(x_1208))) -> sqr(active(encArg(x_1208))) [0] encArg(cons_sqr(cons_mark(x_1209))) -> sqr(mark(encArg(x_1209))) [0] encArg(cons_sqr(cons_terms(x_1210))) -> sqr(terms(encArg(x_1210))) [0] encArg(cons_sqr(cons_cons(x_1211, x_256))) -> sqr(cons(encArg(x_1211), encArg(x_256))) [0] encArg(cons_sqr(cons_recip(x_1212))) -> sqr(recip(encArg(x_1212))) [0] encArg(cons_sqr(cons_sqr(x_1213))) -> sqr(sqr(encArg(x_1213))) [0] encArg(cons_sqr(cons_s(x_1214))) -> sqr(s(encArg(x_1214))) [0] encArg(cons_sqr(cons_add(x_1215, x_257))) -> sqr(add(encArg(x_1215), encArg(x_257))) [0] encArg(cons_sqr(cons_dbl(x_1216))) -> sqr(dbl(encArg(x_1216))) [0] encArg(cons_sqr(cons_first(x_1217, x_258))) -> sqr(first(encArg(x_1217), encArg(x_258))) [0] encArg(cons_sqr(cons_half(x_1218))) -> sqr(half(encArg(x_1218))) [0] encArg(cons_sqr(x_1)) -> sqr(null_encArg) [0] encArg(cons_s(0)) -> s(0) [0] encArg(cons_s(nil)) -> s(nil) [0] encArg(cons_s(cons_active(x_1219))) -> s(active(encArg(x_1219))) [0] encArg(cons_s(cons_mark(x_1220))) -> s(mark(encArg(x_1220))) [0] encArg(cons_s(cons_terms(x_1221))) -> s(terms(encArg(x_1221))) [0] encArg(cons_s(cons_cons(x_1222, x_259))) -> s(cons(encArg(x_1222), encArg(x_259))) [0] encArg(cons_s(cons_recip(x_1223))) -> s(recip(encArg(x_1223))) [0] encArg(cons_s(cons_sqr(x_1224))) -> s(sqr(encArg(x_1224))) [0] encArg(cons_s(cons_s(x_1225))) -> s(s(encArg(x_1225))) [0] encArg(cons_s(cons_add(x_1226, x_260))) -> s(add(encArg(x_1226), encArg(x_260))) [0] encArg(cons_s(cons_dbl(x_1227))) -> s(dbl(encArg(x_1227))) [0] encArg(cons_s(cons_first(x_1228, x_261))) -> s(first(encArg(x_1228), encArg(x_261))) [0] encArg(cons_s(cons_half(x_1229))) -> s(half(encArg(x_1229))) [0] encArg(cons_s(x_1)) -> s(null_encArg) [0] encArg(cons_add(x_1, x_2)) -> add(encArg(x_1), encArg(x_2)) [0] encArg(cons_dbl(0)) -> dbl(0) [0] encArg(cons_dbl(nil)) -> dbl(nil) [0] encArg(cons_dbl(cons_active(x_1395))) -> dbl(active(encArg(x_1395))) [0] encArg(cons_dbl(cons_mark(x_1396))) -> dbl(mark(encArg(x_1396))) [0] encArg(cons_dbl(cons_terms(x_1397))) -> dbl(terms(encArg(x_1397))) [0] encArg(cons_dbl(cons_cons(x_1398, x_2107))) -> dbl(cons(encArg(x_1398), encArg(x_2107))) [0] encArg(cons_dbl(cons_recip(x_1399))) -> dbl(recip(encArg(x_1399))) [0] encArg(cons_dbl(cons_sqr(x_1400))) -> dbl(sqr(encArg(x_1400))) [0] encArg(cons_dbl(cons_s(x_1401))) -> dbl(s(encArg(x_1401))) [0] encArg(cons_dbl(cons_add(x_1402, x_2108))) -> dbl(add(encArg(x_1402), encArg(x_2108))) [0] encArg(cons_dbl(cons_dbl(x_1403))) -> dbl(dbl(encArg(x_1403))) [0] encArg(cons_dbl(cons_first(x_1404, x_2109))) -> dbl(first(encArg(x_1404), encArg(x_2109))) [0] encArg(cons_dbl(cons_half(x_1405))) -> dbl(half(encArg(x_1405))) [0] encArg(cons_dbl(x_1)) -> dbl(null_encArg) [0] encArg(cons_first(x_1, x_2)) -> first(encArg(x_1), encArg(x_2)) [0] encArg(cons_half(0)) -> half(0) [0] encArg(cons_half(nil)) -> half(nil) [0] encArg(cons_half(cons_active(x_1571))) -> half(active(encArg(x_1571))) [0] encArg(cons_half(cons_mark(x_1572))) -> half(mark(encArg(x_1572))) [0] encArg(cons_half(cons_terms(x_1573))) -> half(terms(encArg(x_1573))) [0] encArg(cons_half(cons_cons(x_1574, x_2155))) -> half(cons(encArg(x_1574), encArg(x_2155))) [0] encArg(cons_half(cons_recip(x_1575))) -> half(recip(encArg(x_1575))) [0] encArg(cons_half(cons_sqr(x_1576))) -> half(sqr(encArg(x_1576))) [0] encArg(cons_half(cons_s(x_1577))) -> half(s(encArg(x_1577))) [0] encArg(cons_half(cons_add(x_1578, x_2156))) -> half(add(encArg(x_1578), encArg(x_2156))) [0] encArg(cons_half(cons_dbl(x_1579))) -> half(dbl(encArg(x_1579))) [0] encArg(cons_half(cons_first(x_1580, x_2157))) -> half(first(encArg(x_1580), encArg(x_2157))) [0] encArg(cons_half(cons_half(x_1581))) -> half(half(encArg(x_1581))) [0] encArg(cons_half(x_1)) -> half(null_encArg) [0] encode_active(0) -> active(0) [0] encode_active(nil) -> active(nil) [0] encode_active(cons_active(x_1582)) -> active(active(encArg(x_1582))) [0] encode_active(cons_mark(x_1583)) -> active(mark(encArg(x_1583))) [0] encode_active(cons_terms(x_1584)) -> active(terms(encArg(x_1584))) [0] encode_active(cons_cons(x_1585, x_2158)) -> active(cons(encArg(x_1585), encArg(x_2158))) [0] encode_active(cons_recip(x_1586)) -> active(recip(encArg(x_1586))) [0] encode_active(cons_sqr(x_1587)) -> active(sqr(encArg(x_1587))) [0] encode_active(cons_s(x_1588)) -> active(s(encArg(x_1588))) [0] encode_active(cons_add(x_1589, x_2159)) -> active(add(encArg(x_1589), encArg(x_2159))) [0] encode_active(cons_dbl(x_1590)) -> active(dbl(encArg(x_1590))) [0] encode_active(cons_first(x_1591, x_2160)) -> active(first(encArg(x_1591), encArg(x_2160))) [0] encode_active(cons_half(x_1592)) -> active(half(encArg(x_1592))) [0] encode_active(x_1) -> active(null_encArg) [0] encode_terms(0) -> terms(0) [0] encode_terms(nil) -> terms(nil) [0] encode_terms(cons_active(x_1593)) -> terms(active(encArg(x_1593))) [0] encode_terms(cons_mark(x_1594)) -> terms(mark(encArg(x_1594))) [0] encode_terms(cons_terms(x_1595)) -> terms(terms(encArg(x_1595))) [0] encode_terms(cons_cons(x_1596, x_2161)) -> terms(cons(encArg(x_1596), encArg(x_2161))) [0] encode_terms(cons_recip(x_1597)) -> terms(recip(encArg(x_1597))) [0] encode_terms(cons_sqr(x_1598)) -> terms(sqr(encArg(x_1598))) [0] encode_terms(cons_s(x_1599)) -> terms(s(encArg(x_1599))) [0] encode_terms(cons_add(x_1600, x_2162)) -> terms(add(encArg(x_1600), encArg(x_2162))) [0] encode_terms(cons_dbl(x_1601)) -> terms(dbl(encArg(x_1601))) [0] encode_terms(cons_first(x_1602, x_2163)) -> terms(first(encArg(x_1602), encArg(x_2163))) [0] encode_terms(cons_half(x_1603)) -> terms(half(encArg(x_1603))) [0] encode_terms(x_1) -> terms(null_encArg) [0] encode_mark(0) -> mark(0) [0] encode_mark(nil) -> mark(nil) [0] encode_mark(cons_active(x_1604)) -> mark(active(encArg(x_1604))) [0] encode_mark(cons_mark(x_1605)) -> mark(mark(encArg(x_1605))) [0] encode_mark(cons_terms(x_1606)) -> mark(terms(encArg(x_1606))) [0] encode_mark(cons_cons(x_1607, x_2164)) -> mark(cons(encArg(x_1607), encArg(x_2164))) [0] encode_mark(cons_recip(x_1608)) -> mark(recip(encArg(x_1608))) [0] encode_mark(cons_sqr(x_1609)) -> mark(sqr(encArg(x_1609))) [0] encode_mark(cons_s(x_1610)) -> mark(s(encArg(x_1610))) [0] encode_mark(cons_add(x_1611, x_2165)) -> mark(add(encArg(x_1611), encArg(x_2165))) [0] encode_mark(cons_dbl(x_1612)) -> mark(dbl(encArg(x_1612))) [0] encode_mark(cons_first(x_1613, x_2166)) -> mark(first(encArg(x_1613), encArg(x_2166))) [0] encode_mark(cons_half(x_1614)) -> mark(half(encArg(x_1614))) [0] encode_mark(x_1) -> mark(null_encArg) [0] encode_cons(x_1, x_2) -> cons(encArg(x_1), encArg(x_2)) [0] encode_recip(0) -> recip(0) [0] encode_recip(nil) -> recip(nil) [0] encode_recip(cons_active(x_1780)) -> recip(active(encArg(x_1780))) [0] encode_recip(cons_mark(x_1781)) -> recip(mark(encArg(x_1781))) [0] encode_recip(cons_terms(x_1782)) -> recip(terms(encArg(x_1782))) [0] encode_recip(cons_cons(x_1783, x_2212)) -> recip(cons(encArg(x_1783), encArg(x_2212))) [0] encode_recip(cons_recip(x_1784)) -> recip(recip(encArg(x_1784))) [0] encode_recip(cons_sqr(x_1785)) -> recip(sqr(encArg(x_1785))) [0] encode_recip(cons_s(x_1786)) -> recip(s(encArg(x_1786))) [0] encode_recip(cons_add(x_1787, x_2213)) -> recip(add(encArg(x_1787), encArg(x_2213))) [0] encode_recip(cons_dbl(x_1788)) -> recip(dbl(encArg(x_1788))) [0] encode_recip(cons_first(x_1789, x_2214)) -> recip(first(encArg(x_1789), encArg(x_2214))) [0] encode_recip(cons_half(x_1790)) -> recip(half(encArg(x_1790))) [0] encode_recip(x_1) -> recip(null_encArg) [0] encode_sqr(0) -> sqr(0) [0] encode_sqr(nil) -> sqr(nil) [0] encode_sqr(cons_active(x_1791)) -> sqr(active(encArg(x_1791))) [0] encode_sqr(cons_mark(x_1792)) -> sqr(mark(encArg(x_1792))) [0] encode_sqr(cons_terms(x_1793)) -> sqr(terms(encArg(x_1793))) [0] encode_sqr(cons_cons(x_1794, x_2215)) -> sqr(cons(encArg(x_1794), encArg(x_2215))) [0] encode_sqr(cons_recip(x_1795)) -> sqr(recip(encArg(x_1795))) [0] encode_sqr(cons_sqr(x_1796)) -> sqr(sqr(encArg(x_1796))) [0] encode_sqr(cons_s(x_1797)) -> sqr(s(encArg(x_1797))) [0] encode_sqr(cons_add(x_1798, x_2216)) -> sqr(add(encArg(x_1798), encArg(x_2216))) [0] encode_sqr(cons_dbl(x_1799)) -> sqr(dbl(encArg(x_1799))) [0] encode_sqr(cons_first(x_1800, x_2217)) -> sqr(first(encArg(x_1800), encArg(x_2217))) [0] encode_sqr(cons_half(x_1801)) -> sqr(half(encArg(x_1801))) [0] encode_sqr(x_1) -> sqr(null_encArg) [0] encode_s(0) -> s(0) [0] encode_s(nil) -> s(nil) [0] encode_s(cons_active(x_1802)) -> s(active(encArg(x_1802))) [0] encode_s(cons_mark(x_1803)) -> s(mark(encArg(x_1803))) [0] encode_s(cons_terms(x_1804)) -> s(terms(encArg(x_1804))) [0] encode_s(cons_cons(x_1805, x_2218)) -> s(cons(encArg(x_1805), encArg(x_2218))) [0] encode_s(cons_recip(x_1806)) -> s(recip(encArg(x_1806))) [0] encode_s(cons_sqr(x_1807)) -> s(sqr(encArg(x_1807))) [0] encode_s(cons_s(x_1808)) -> s(s(encArg(x_1808))) [0] encode_s(cons_add(x_1809, x_2219)) -> s(add(encArg(x_1809), encArg(x_2219))) [0] encode_s(cons_dbl(x_1810)) -> s(dbl(encArg(x_1810))) [0] encode_s(cons_first(x_1811, x_2220)) -> s(first(encArg(x_1811), encArg(x_2220))) [0] encode_s(cons_half(x_1812)) -> s(half(encArg(x_1812))) [0] encode_s(x_1) -> s(null_encArg) [0] encode_0 -> 0 [0] encode_add(x_1, x_2) -> add(encArg(x_1), encArg(x_2)) [0] encode_dbl(0) -> dbl(0) [0] encode_dbl(nil) -> dbl(nil) [0] encode_dbl(cons_active(x_1978)) -> dbl(active(encArg(x_1978))) [0] encode_dbl(cons_mark(x_1979)) -> dbl(mark(encArg(x_1979))) [0] encode_dbl(cons_terms(x_1980)) -> dbl(terms(encArg(x_1980))) [0] encode_dbl(cons_cons(x_1981, x_2266)) -> dbl(cons(encArg(x_1981), encArg(x_2266))) [0] encode_dbl(cons_recip(x_1982)) -> dbl(recip(encArg(x_1982))) [0] encode_dbl(cons_sqr(x_1983)) -> dbl(sqr(encArg(x_1983))) [0] encode_dbl(cons_s(x_1984)) -> dbl(s(encArg(x_1984))) [0] encode_dbl(cons_add(x_1985, x_2267)) -> dbl(add(encArg(x_1985), encArg(x_2267))) [0] encode_dbl(cons_dbl(x_1986)) -> dbl(dbl(encArg(x_1986))) [0] encode_dbl(cons_first(x_1987, x_2268)) -> dbl(first(encArg(x_1987), encArg(x_2268))) [0] encode_dbl(cons_half(x_1988)) -> dbl(half(encArg(x_1988))) [0] encode_dbl(x_1) -> dbl(null_encArg) [0] encode_first(x_1, x_2) -> first(encArg(x_1), encArg(x_2)) [0] encode_nil -> nil [0] encode_half(0) -> half(0) [0] encode_half(nil) -> half(nil) [0] encode_half(cons_active(x_11154)) -> half(active(encArg(x_11154))) [0] encode_half(cons_mark(x_11155)) -> half(mark(encArg(x_11155))) [0] encode_half(cons_terms(x_11156)) -> half(terms(encArg(x_11156))) [0] encode_half(cons_cons(x_11157, x_2314)) -> half(cons(encArg(x_11157), encArg(x_2314))) [0] encode_half(cons_recip(x_11158)) -> half(recip(encArg(x_11158))) [0] encode_half(cons_sqr(x_11159)) -> half(sqr(encArg(x_11159))) [0] encode_half(cons_s(x_11160)) -> half(s(encArg(x_11160))) [0] encode_half(cons_add(x_11161, x_2315)) -> half(add(encArg(x_11161), encArg(x_2315))) [0] encode_half(cons_dbl(x_11162)) -> half(dbl(encArg(x_11162))) [0] encode_half(cons_first(x_11163, x_2316)) -> half(first(encArg(x_11163), encArg(x_2316))) [0] encode_half(cons_half(x_11164)) -> half(half(encArg(x_11164))) [0] encode_half(x_1) -> half(null_encArg) [0] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(x0) [0] half(x0) -> c_half(x0) [0] add(x0, x1) -> c_add(x0, x1) [0] terms(x0) -> c_terms(x0) [0] dbl(x0) -> c_dbl(x0) [0] cons(x0, x1) -> c_cons(x0, x1) [0] first(x0, x1) -> c_first(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_terms(v0) -> null_encode_terms [0] encode_mark(v0) -> null_encode_mark [0] encode_cons(v0, v1) -> null_encode_cons [0] encode_recip(v0) -> null_encode_recip [0] encode_sqr(v0) -> null_encode_sqr [0] encode_s(v0) -> null_encode_s [0] encode_0 -> null_encode_0 [0] encode_add(v0, v1) -> null_encode_add [0] encode_dbl(v0) -> null_encode_dbl [0] encode_first(v0, v1) -> null_encode_first [0] encode_nil -> null_encode_nil [0] encode_half(v0) -> null_encode_half [0] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [0] half(v0) -> null_half [0] add(v0, v1) -> null_add [0] terms(v0) -> null_terms [0] dbl(v0) -> null_dbl [0] cons(v0, v1) -> null_cons [0] first(v0, v1) -> null_first [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark 0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark c_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark cons_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark encode_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_encode_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_half :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark null_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_half:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:cons_half:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_encode_half:null_s:null_sqr:null_active:null_recip:null_half:null_add:null_terms:null_dbl:null_cons:null_first:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (29) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 nil => 1 null_encArg => 0 null_encode_active => 0 null_encode_terms => 0 null_encode_mark => 0 null_encode_cons => 0 null_encode_recip => 0 null_encode_sqr => 0 null_encode_s => 0 null_encode_0 => 0 null_encode_add => 0 null_encode_dbl => 0 null_encode_first => 0 null_encode_nil => 0 null_encode_half => 0 null_s => 0 null_sqr => 0 null_active => 0 null_recip => 0 null_half => 0 null_add => 0 null_terms => 0 null_dbl => 0 null_cons => 0 null_first => 0 null_mark => 0 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 1 }-> mark(X) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 2 }-> mark(s(s(dbl(X350)))) :|: X350 >= 0, z = 1 + (1 + (1 + X350)) active(z) -{ 2 }-> mark(s(s(dbl(X351)))) :|: z = 1 + (1 + (1 + X351)), X351 >= 0 active(z) -{ 1 }-> mark(s(s(0))) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 1 }-> mark(s(s(1 + X))) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 2 }-> mark(s(half(X330))) :|: z = 1 + (1 + (1 + (1 + X330))), X330 >= 0 active(z) -{ 2 }-> mark(s(half(X331))) :|: X331 >= 0, z = 1 + (1 + (1 + (1 + X331))) active(z) -{ 2 }-> mark(s(add(X, X2123))) :|: X2123 >= 0, z = 1 + (1 + X) + (1 + X2123), X >= 0 active(z) -{ 2 }-> mark(s(add(X, X2124))) :|: z = 1 + (1 + X) + (1 + X2124), X >= 0, X2124 >= 0 active(z) -{ 2 }-> mark(s(add(X1138, Y))) :|: z = 1 + (1 + (1 + X1138)) + Y, Y >= 0, X1138 >= 0 active(z) -{ 2 }-> mark(s(add(X1139, Y))) :|: Y >= 0, z = 1 + (1 + (1 + X1139)) + Y, X1139 >= 0 active(z) -{ 3 }-> mark(s(add(sqr(X'), dbl(X')))) :|: z = 1 + (1 + (1 + X')), X' >= 0 active(z) -{ 2 }-> mark(s(add(sqr(X'), 0))) :|: z = 1 + (1 + (1 + X')), X' >= 0 active(z) -{ 2 }-> mark(s(add(sqr(X'), 1 + (1 + X')))) :|: z = 1 + (1 + (1 + X')), X' >= 0 active(z) -{ 3 }-> mark(s(add(sqr(X''), dbl(X'')))) :|: z = 1 + (1 + (1 + X'')), X'' >= 0 active(z) -{ 2 }-> mark(s(add(sqr(X''), 0))) :|: z = 1 + (1 + (1 + X'')), X'' >= 0 active(z) -{ 2 }-> mark(s(add(sqr(X''), 1 + (1 + X'')))) :|: z = 1 + (1 + (1 + X'')), X'' >= 0 active(z) -{ 2 }-> mark(s(add(0, dbl(X5)))) :|: X5 >= 0, z = 1 + (1 + (1 + X5)) active(z) -{ 2 }-> mark(s(add(0, dbl(X6)))) :|: X6 >= 0, z = 1 + (1 + (1 + X6)) active(z) -{ 1 }-> mark(s(add(0, 0))) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 1 }-> mark(s(add(0, 1 + X))) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 1 }-> mark(s(add(1 + X, 0))) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 1 }-> mark(s(add(1 + X, 1 + X))) :|: z = 1 + (1 + X), X >= 0 active(z) -{ 2 }-> mark(s(add(1 + (1 + X3), dbl(X3)))) :|: z = 1 + (1 + (1 + X3)), X3 >= 0 active(z) -{ 2 }-> mark(s(add(1 + (1 + X4), dbl(X4)))) :|: X4 >= 0, z = 1 + (1 + (1 + X4)) active(z) -{ 1 }-> mark(s(0)) :|: z = 1 + (1 + (1 + X)), X >= 0 active(z) -{ 1 }-> mark(s(0)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(s(1 + X)) :|: z = 1 + (1 + (1 + X)), 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, X2118))) :|: Y >= 0, X2118 >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X2118)), X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X2119))) :|: z = 1 + (1 + X) + (1 + Y + (1 + X2119)), Y >= 0, X2119 >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X1133, Z))) :|: Z >= 0, Y >= 0, z = 1 + (1 + (1 + X1133)) + (1 + Y + Z), X1133 >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X1134, Z))) :|: Z >= 0, Y >= 0, z = 1 + (1 + (1 + X1134)) + (1 + Y + Z), X1134 >= 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) -{ 3 }-> mark(cons(recip(sqr(X338)), terms(s(X338)))) :|: z = 1 + (1 + X338), X338 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X338)), terms(0))) :|: z = 1 + (1 + X338), X338 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X338)), terms(1 + (1 + X338)))) :|: z = 1 + (1 + X338), X338 >= 0 active(z) -{ 3 }-> mark(cons(recip(sqr(X339)), terms(s(X339)))) :|: z = 1 + (1 + X339), X339 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X339)), terms(0))) :|: z = 1 + (1 + X339), X339 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X339)), terms(1 + (1 + X339)))) :|: z = 1 + (1 + X339), X339 >= 0 active(z) -{ 2 }-> mark(cons(recip(0), terms(s(X342)))) :|: z = 1 + (1 + X342), X342 >= 0 active(z) -{ 2 }-> mark(cons(recip(0), terms(s(X343)))) :|: X343 >= 0, z = 1 + (1 + X343) active(z) -{ 1 }-> mark(cons(recip(0), terms(0))) :|: z = 1 + N, N >= 0 active(z) -{ 1 }-> mark(cons(recip(0), terms(1 + N))) :|: z = 1 + N, N >= 0 active(z) -{ 1 }-> mark(cons(recip(1 + N), terms(0))) :|: z = 1 + N, N >= 0 active(z) -{ 1 }-> mark(cons(recip(1 + N), terms(1 + N))) :|: z = 1 + N, N >= 0 active(z) -{ 2 }-> mark(cons(recip(1 + (1 + X340)), terms(s(X340)))) :|: z = 1 + (1 + X340), X340 >= 0 active(z) -{ 2 }-> mark(cons(recip(1 + (1 + X341)), terms(s(X341)))) :|: X341 >= 0, z = 1 + (1 + X341) active(z) -{ 1 }-> mark(1) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + (1 + 0) 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 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 dbl(z) -{ 1 }-> dbl(X) :|: z = 1 + X, X >= 0 dbl(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 dbl(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 encArg(z) -{ 0 }-> terms(terms(encArg(x_123))) :|: x_123 >= 0, z = 1 + (1 + x_123) encArg(z) -{ 0 }-> terms(sqr(encArg(x_126))) :|: z = 1 + (1 + x_126), x_126 >= 0 encArg(z) -{ 0 }-> terms(s(encArg(x_127))) :|: z = 1 + (1 + x_127), x_127 >= 0 encArg(z) -{ 0 }-> terms(recip(encArg(x_125))) :|: z = 1 + (1 + x_125), x_125 >= 0 encArg(z) -{ 0 }-> terms(mark(encArg(x_122))) :|: x_122 >= 0, z = 1 + (1 + x_122) encArg(z) -{ 0 }-> terms(half(encArg(x_131))) :|: z = 1 + (1 + x_131), x_131 >= 0 encArg(z) -{ 0 }-> terms(first(encArg(x_130), encArg(x_27))) :|: x_130 >= 0, x_27 >= 0, z = 1 + (1 + x_130 + x_27) encArg(z) -{ 0 }-> terms(dbl(encArg(x_129))) :|: z = 1 + (1 + x_129), x_129 >= 0 encArg(z) -{ 0 }-> terms(cons(encArg(x_124), encArg(x_25))) :|: x_124 >= 0, z = 1 + (1 + x_124 + x_25), x_25 >= 0 encArg(z) -{ 0 }-> terms(add(encArg(x_128), encArg(x_26))) :|: x_128 >= 0, x_26 >= 0, z = 1 + (1 + x_128 + x_26) encArg(z) -{ 0 }-> terms(active(encArg(x_121))) :|: z = 1 + (1 + x_121), x_121 >= 0 encArg(z) -{ 0 }-> terms(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> terms(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> terms(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> sqr(terms(encArg(x_1210))) :|: x_1210 >= 0, z = 1 + (1 + x_1210) encArg(z) -{ 0 }-> sqr(sqr(encArg(x_1213))) :|: x_1213 >= 0, z = 1 + (1 + x_1213) encArg(z) -{ 0 }-> sqr(s(encArg(x_1214))) :|: z = 1 + (1 + x_1214), x_1214 >= 0 encArg(z) -{ 0 }-> sqr(recip(encArg(x_1212))) :|: z = 1 + (1 + x_1212), x_1212 >= 0 encArg(z) -{ 0 }-> sqr(mark(encArg(x_1209))) :|: z = 1 + (1 + x_1209), x_1209 >= 0 encArg(z) -{ 0 }-> sqr(half(encArg(x_1218))) :|: x_1218 >= 0, z = 1 + (1 + x_1218) encArg(z) -{ 0 }-> sqr(first(encArg(x_1217), encArg(x_258))) :|: x_258 >= 0, x_1217 >= 0, z = 1 + (1 + x_1217 + x_258) encArg(z) -{ 0 }-> sqr(dbl(encArg(x_1216))) :|: z = 1 + (1 + x_1216), x_1216 >= 0 encArg(z) -{ 0 }-> sqr(cons(encArg(x_1211), encArg(x_256))) :|: x_1211 >= 0, z = 1 + (1 + x_1211 + x_256), x_256 >= 0 encArg(z) -{ 0 }-> sqr(add(encArg(x_1215), encArg(x_257))) :|: x_1215 >= 0, z = 1 + (1 + x_1215 + x_257), x_257 >= 0 encArg(z) -{ 0 }-> sqr(active(encArg(x_1208))) :|: x_1208 >= 0, z = 1 + (1 + x_1208) encArg(z) -{ 0 }-> sqr(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> sqr(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> sqr(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> s(terms(encArg(x_1221))) :|: x_1221 >= 0, z = 1 + (1 + x_1221) encArg(z) -{ 0 }-> s(sqr(encArg(x_1224))) :|: z = 1 + (1 + x_1224), x_1224 >= 0 encArg(z) -{ 0 }-> s(s(encArg(x_1225))) :|: z = 1 + (1 + x_1225), x_1225 >= 0 encArg(z) -{ 0 }-> s(recip(encArg(x_1223))) :|: x_1223 >= 0, z = 1 + (1 + x_1223) encArg(z) -{ 0 }-> s(mark(encArg(x_1220))) :|: z = 1 + (1 + x_1220), x_1220 >= 0 encArg(z) -{ 0 }-> s(half(encArg(x_1229))) :|: x_1229 >= 0, z = 1 + (1 + x_1229) encArg(z) -{ 0 }-> s(first(encArg(x_1228), encArg(x_261))) :|: z = 1 + (1 + x_1228 + x_261), x_261 >= 0, x_1228 >= 0 encArg(z) -{ 0 }-> s(dbl(encArg(x_1227))) :|: z = 1 + (1 + x_1227), x_1227 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_1222), encArg(x_259))) :|: z = 1 + (1 + x_1222 + x_259), x_259 >= 0, x_1222 >= 0 encArg(z) -{ 0 }-> s(add(encArg(x_1226), encArg(x_260))) :|: z = 1 + (1 + x_1226 + x_260), x_1226 >= 0, x_260 >= 0 encArg(z) -{ 0 }-> s(active(encArg(x_1219))) :|: x_1219 >= 0, z = 1 + (1 + x_1219) 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 }-> recip(terms(encArg(x_1199))) :|: z = 1 + (1 + x_1199), x_1199 >= 0 encArg(z) -{ 0 }-> recip(sqr(encArg(x_1202))) :|: z = 1 + (1 + x_1202), x_1202 >= 0 encArg(z) -{ 0 }-> recip(s(encArg(x_1203))) :|: x_1203 >= 0, z = 1 + (1 + x_1203) encArg(z) -{ 0 }-> recip(recip(encArg(x_1201))) :|: x_1201 >= 0, z = 1 + (1 + x_1201) encArg(z) -{ 0 }-> recip(mark(encArg(x_1198))) :|: z = 1 + (1 + x_1198), x_1198 >= 0 encArg(z) -{ 0 }-> recip(half(encArg(x_1207))) :|: z = 1 + (1 + x_1207), x_1207 >= 0 encArg(z) -{ 0 }-> recip(first(encArg(x_1206), encArg(x_255))) :|: x_255 >= 0, x_1206 >= 0, z = 1 + (1 + x_1206 + x_255) encArg(z) -{ 0 }-> recip(dbl(encArg(x_1205))) :|: x_1205 >= 0, z = 1 + (1 + x_1205) encArg(z) -{ 0 }-> recip(cons(encArg(x_1200), encArg(x_253))) :|: z = 1 + (1 + x_1200 + x_253), x_1200 >= 0, x_253 >= 0 encArg(z) -{ 0 }-> recip(add(encArg(x_1204), encArg(x_254))) :|: x_254 >= 0, x_1204 >= 0, z = 1 + (1 + x_1204 + x_254) encArg(z) -{ 0 }-> recip(active(encArg(x_1197))) :|: z = 1 + (1 + x_1197), x_1197 >= 0 encArg(z) -{ 0 }-> recip(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> recip(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> recip(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> mark(terms(encArg(x_112))) :|: x_112 >= 0, z = 1 + (1 + x_112) encArg(z) -{ 0 }-> mark(sqr(encArg(x_115))) :|: z = 1 + (1 + x_115), x_115 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(x_116))) :|: z = 1 + (1 + x_116), x_116 >= 0 encArg(z) -{ 0 }-> mark(recip(encArg(x_114))) :|: z = 1 + (1 + x_114), x_114 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(x_111))) :|: z = 1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> mark(half(encArg(x_120))) :|: x_120 >= 0, z = 1 + (1 + x_120) encArg(z) -{ 0 }-> mark(first(encArg(x_119), encArg(x_24))) :|: z = 1 + (1 + x_119 + x_24), x_24 >= 0, x_119 >= 0 encArg(z) -{ 0 }-> mark(dbl(encArg(x_118))) :|: z = 1 + (1 + x_118), x_118 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_113), encArg(x_22))) :|: z = 1 + (1 + x_113 + x_22), x_113 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(add(encArg(x_117), encArg(x_23))) :|: x_117 >= 0, x_23 >= 0, z = 1 + (1 + x_117 + x_23) encArg(z) -{ 0 }-> mark(active(encArg(x_110))) :|: z = 1 + (1 + x_110), x_110 >= 0 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 }-> half(terms(encArg(x_1573))) :|: x_1573 >= 0, z = 1 + (1 + x_1573) encArg(z) -{ 0 }-> half(sqr(encArg(x_1576))) :|: z = 1 + (1 + x_1576), x_1576 >= 0 encArg(z) -{ 0 }-> half(s(encArg(x_1577))) :|: z = 1 + (1 + x_1577), x_1577 >= 0 encArg(z) -{ 0 }-> half(recip(encArg(x_1575))) :|: x_1575 >= 0, z = 1 + (1 + x_1575) encArg(z) -{ 0 }-> half(mark(encArg(x_1572))) :|: x_1572 >= 0, z = 1 + (1 + x_1572) encArg(z) -{ 0 }-> half(half(encArg(x_1581))) :|: x_1581 >= 0, z = 1 + (1 + x_1581) encArg(z) -{ 0 }-> half(first(encArg(x_1580), encArg(x_2157))) :|: z = 1 + (1 + x_1580 + x_2157), x_1580 >= 0, x_2157 >= 0 encArg(z) -{ 0 }-> half(dbl(encArg(x_1579))) :|: z = 1 + (1 + x_1579), x_1579 >= 0 encArg(z) -{ 0 }-> half(cons(encArg(x_1574), encArg(x_2155))) :|: x_1574 >= 0, z = 1 + (1 + x_1574 + x_2155), x_2155 >= 0 encArg(z) -{ 0 }-> half(add(encArg(x_1578), encArg(x_2156))) :|: x_2156 >= 0, x_1578 >= 0, z = 1 + (1 + x_1578 + x_2156) encArg(z) -{ 0 }-> half(active(encArg(x_1571))) :|: x_1571 >= 0, z = 1 + (1 + x_1571) encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(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 }-> dbl(terms(encArg(x_1397))) :|: z = 1 + (1 + x_1397), x_1397 >= 0 encArg(z) -{ 0 }-> dbl(sqr(encArg(x_1400))) :|: z = 1 + (1 + x_1400), x_1400 >= 0 encArg(z) -{ 0 }-> dbl(s(encArg(x_1401))) :|: x_1401 >= 0, z = 1 + (1 + x_1401) encArg(z) -{ 0 }-> dbl(recip(encArg(x_1399))) :|: z = 1 + (1 + x_1399), x_1399 >= 0 encArg(z) -{ 0 }-> dbl(mark(encArg(x_1396))) :|: z = 1 + (1 + x_1396), x_1396 >= 0 encArg(z) -{ 0 }-> dbl(half(encArg(x_1405))) :|: z = 1 + (1 + x_1405), x_1405 >= 0 encArg(z) -{ 0 }-> dbl(first(encArg(x_1404), encArg(x_2109))) :|: z = 1 + (1 + x_1404 + x_2109), x_1404 >= 0, x_2109 >= 0 encArg(z) -{ 0 }-> dbl(dbl(encArg(x_1403))) :|: z = 1 + (1 + x_1403), x_1403 >= 0 encArg(z) -{ 0 }-> dbl(cons(encArg(x_1398), encArg(x_2107))) :|: z = 1 + (1 + x_1398 + x_2107), x_1398 >= 0, x_2107 >= 0 encArg(z) -{ 0 }-> dbl(add(encArg(x_1402), encArg(x_2108))) :|: z = 1 + (1 + x_1402 + x_2108), x_2108 >= 0, x_1402 >= 0 encArg(z) -{ 0 }-> dbl(active(encArg(x_1395))) :|: z = 1 + (1 + x_1395), x_1395 >= 0 encArg(z) -{ 0 }-> dbl(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> dbl(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> dbl(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> add(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> active(terms(encArg(x_11))) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> active(sqr(encArg(x_14))) :|: x_14 >= 0, z = 1 + (1 + x_14) encArg(z) -{ 0 }-> active(s(encArg(x_15))) :|: x_15 >= 0, z = 1 + (1 + x_15) encArg(z) -{ 0 }-> active(recip(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> active(mark(encArg(x_1''))) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> active(half(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> active(first(encArg(x_18), encArg(x_21))) :|: z = 1 + (1 + x_18 + x_21), x_18 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> active(dbl(encArg(x_17))) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> active(cons(encArg(x_12), encArg(x_2'))) :|: z = 1 + (1 + x_12 + x_2'), x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> active(add(encArg(x_16), encArg(x_2''))) :|: x_16 >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'') encArg(z) -{ 0 }-> active(active(encArg(x_1'))) :|: z = 1 + (1 + x_1'), x_1' >= 0 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 }-> 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(terms(encArg(x_1584))) :|: x_1584 >= 0, z = 1 + x_1584 encode_active(z) -{ 0 }-> active(sqr(encArg(x_1587))) :|: x_1587 >= 0, z = 1 + x_1587 encode_active(z) -{ 0 }-> active(s(encArg(x_1588))) :|: z = 1 + x_1588, x_1588 >= 0 encode_active(z) -{ 0 }-> active(recip(encArg(x_1586))) :|: x_1586 >= 0, z = 1 + x_1586 encode_active(z) -{ 0 }-> active(mark(encArg(x_1583))) :|: z = 1 + x_1583, x_1583 >= 0 encode_active(z) -{ 0 }-> active(half(encArg(x_1592))) :|: z = 1 + x_1592, x_1592 >= 0 encode_active(z) -{ 0 }-> active(first(encArg(x_1591), encArg(x_2160))) :|: x_1591 >= 0, z = 1 + x_1591 + x_2160, x_2160 >= 0 encode_active(z) -{ 0 }-> active(dbl(encArg(x_1590))) :|: z = 1 + x_1590, x_1590 >= 0 encode_active(z) -{ 0 }-> active(cons(encArg(x_1585), encArg(x_2158))) :|: x_1585 >= 0, x_2158 >= 0, z = 1 + x_1585 + x_2158 encode_active(z) -{ 0 }-> active(add(encArg(x_1589), encArg(x_2159))) :|: z = 1 + x_1589 + x_2159, x_1589 >= 0, x_2159 >= 0 encode_active(z) -{ 0 }-> active(active(encArg(x_1582))) :|: x_1582 >= 0, z = 1 + x_1582 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_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_dbl(z) -{ 0 }-> dbl(terms(encArg(x_1980))) :|: x_1980 >= 0, z = 1 + x_1980 encode_dbl(z) -{ 0 }-> dbl(sqr(encArg(x_1983))) :|: z = 1 + x_1983, x_1983 >= 0 encode_dbl(z) -{ 0 }-> dbl(s(encArg(x_1984))) :|: x_1984 >= 0, z = 1 + x_1984 encode_dbl(z) -{ 0 }-> dbl(recip(encArg(x_1982))) :|: z = 1 + x_1982, x_1982 >= 0 encode_dbl(z) -{ 0 }-> dbl(mark(encArg(x_1979))) :|: z = 1 + x_1979, x_1979 >= 0 encode_dbl(z) -{ 0 }-> dbl(half(encArg(x_1988))) :|: x_1988 >= 0, z = 1 + x_1988 encode_dbl(z) -{ 0 }-> dbl(first(encArg(x_1987), encArg(x_2268))) :|: z = 1 + x_1987 + x_2268, x_2268 >= 0, x_1987 >= 0 encode_dbl(z) -{ 0 }-> dbl(dbl(encArg(x_1986))) :|: x_1986 >= 0, z = 1 + x_1986 encode_dbl(z) -{ 0 }-> dbl(cons(encArg(x_1981), encArg(x_2266))) :|: x_1981 >= 0, z = 1 + x_1981 + x_2266, x_2266 >= 0 encode_dbl(z) -{ 0 }-> dbl(add(encArg(x_1985), encArg(x_2267))) :|: x_1985 >= 0, z = 1 + x_1985 + x_2267, x_2267 >= 0 encode_dbl(z) -{ 0 }-> dbl(active(encArg(x_1978))) :|: x_1978 >= 0, z = 1 + x_1978 encode_dbl(z) -{ 0 }-> dbl(1) :|: z = 1 encode_dbl(z) -{ 0 }-> dbl(0) :|: z = 0 encode_dbl(z) -{ 0 }-> dbl(0) :|: x_1 >= 0, z = x_1 encode_dbl(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 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_half(z) -{ 0 }-> half(terms(encArg(x_11156))) :|: z = 1 + x_11156, x_11156 >= 0 encode_half(z) -{ 0 }-> half(sqr(encArg(x_11159))) :|: z = 1 + x_11159, x_11159 >= 0 encode_half(z) -{ 0 }-> half(s(encArg(x_11160))) :|: z = 1 + x_11160, x_11160 >= 0 encode_half(z) -{ 0 }-> half(recip(encArg(x_11158))) :|: z = 1 + x_11158, x_11158 >= 0 encode_half(z) -{ 0 }-> half(mark(encArg(x_11155))) :|: x_11155 >= 0, z = 1 + x_11155 encode_half(z) -{ 0 }-> half(half(encArg(x_11164))) :|: z = 1 + x_11164, x_11164 >= 0 encode_half(z) -{ 0 }-> half(first(encArg(x_11163), encArg(x_2316))) :|: x_11163 >= 0, x_2316 >= 0, z = 1 + x_11163 + x_2316 encode_half(z) -{ 0 }-> half(dbl(encArg(x_11162))) :|: z = 1 + x_11162, x_11162 >= 0 encode_half(z) -{ 0 }-> half(cons(encArg(x_11157), encArg(x_2314))) :|: x_11157 >= 0, z = 1 + x_11157 + x_2314, x_2314 >= 0 encode_half(z) -{ 0 }-> half(add(encArg(x_11161), encArg(x_2315))) :|: x_11161 >= 0, x_2315 >= 0, z = 1 + x_11161 + x_2315 encode_half(z) -{ 0 }-> half(active(encArg(x_11154))) :|: x_11154 >= 0, z = 1 + x_11154 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: x_1 >= 0, z = x_1 encode_half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_mark(z) -{ 0 }-> mark(terms(encArg(x_1606))) :|: z = 1 + x_1606, x_1606 >= 0 encode_mark(z) -{ 0 }-> mark(sqr(encArg(x_1609))) :|: x_1609 >= 0, z = 1 + x_1609 encode_mark(z) -{ 0 }-> mark(s(encArg(x_1610))) :|: x_1610 >= 0, z = 1 + x_1610 encode_mark(z) -{ 0 }-> mark(recip(encArg(x_1608))) :|: x_1608 >= 0, z = 1 + x_1608 encode_mark(z) -{ 0 }-> mark(mark(encArg(x_1605))) :|: z = 1 + x_1605, x_1605 >= 0 encode_mark(z) -{ 0 }-> mark(half(encArg(x_1614))) :|: x_1614 >= 0, z = 1 + x_1614 encode_mark(z) -{ 0 }-> mark(first(encArg(x_1613), encArg(x_2166))) :|: z = 1 + x_1613 + x_2166, x_1613 >= 0, x_2166 >= 0 encode_mark(z) -{ 0 }-> mark(dbl(encArg(x_1612))) :|: x_1612 >= 0, z = 1 + x_1612 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_1607), encArg(x_2164))) :|: z = 1 + x_1607 + x_2164, x_2164 >= 0, x_1607 >= 0 encode_mark(z) -{ 0 }-> mark(add(encArg(x_1611), encArg(x_2165))) :|: x_1611 >= 0, z = 1 + x_1611 + x_2165, x_2165 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(x_1604))) :|: x_1604 >= 0, z = 1 + x_1604 encode_mark(z) -{ 0 }-> mark(1) :|: z = 1 encode_mark(z) -{ 0 }-> mark(0) :|: z = 0 encode_mark(z) -{ 0 }-> mark(0) :|: x_1 >= 0, z = x_1 encode_mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_recip(z) -{ 0 }-> recip(terms(encArg(x_1782))) :|: x_1782 >= 0, z = 1 + x_1782 encode_recip(z) -{ 0 }-> recip(sqr(encArg(x_1785))) :|: x_1785 >= 0, z = 1 + x_1785 encode_recip(z) -{ 0 }-> recip(s(encArg(x_1786))) :|: x_1786 >= 0, z = 1 + x_1786 encode_recip(z) -{ 0 }-> recip(recip(encArg(x_1784))) :|: z = 1 + x_1784, x_1784 >= 0 encode_recip(z) -{ 0 }-> recip(mark(encArg(x_1781))) :|: x_1781 >= 0, z = 1 + x_1781 encode_recip(z) -{ 0 }-> recip(half(encArg(x_1790))) :|: x_1790 >= 0, z = 1 + x_1790 encode_recip(z) -{ 0 }-> recip(first(encArg(x_1789), encArg(x_2214))) :|: x_1789 >= 0, z = 1 + x_1789 + x_2214, x_2214 >= 0 encode_recip(z) -{ 0 }-> recip(dbl(encArg(x_1788))) :|: x_1788 >= 0, z = 1 + x_1788 encode_recip(z) -{ 0 }-> recip(cons(encArg(x_1783), encArg(x_2212))) :|: x_1783 >= 0, x_2212 >= 0, z = 1 + x_1783 + x_2212 encode_recip(z) -{ 0 }-> recip(add(encArg(x_1787), encArg(x_2213))) :|: x_2213 >= 0, x_1787 >= 0, z = 1 + x_1787 + x_2213 encode_recip(z) -{ 0 }-> recip(active(encArg(x_1780))) :|: x_1780 >= 0, z = 1 + x_1780 encode_recip(z) -{ 0 }-> recip(1) :|: z = 1 encode_recip(z) -{ 0 }-> recip(0) :|: z = 0 encode_recip(z) -{ 0 }-> recip(0) :|: x_1 >= 0, z = x_1 encode_recip(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> s(terms(encArg(x_1804))) :|: x_1804 >= 0, z = 1 + x_1804 encode_s(z) -{ 0 }-> s(sqr(encArg(x_1807))) :|: z = 1 + x_1807, x_1807 >= 0 encode_s(z) -{ 0 }-> s(s(encArg(x_1808))) :|: z = 1 + x_1808, x_1808 >= 0 encode_s(z) -{ 0 }-> s(recip(encArg(x_1806))) :|: x_1806 >= 0, z = 1 + x_1806 encode_s(z) -{ 0 }-> s(mark(encArg(x_1803))) :|: z = 1 + x_1803, x_1803 >= 0 encode_s(z) -{ 0 }-> s(half(encArg(x_1812))) :|: x_1812 >= 0, z = 1 + x_1812 encode_s(z) -{ 0 }-> s(first(encArg(x_1811), encArg(x_2220))) :|: x_2220 >= 0, z = 1 + x_1811 + x_2220, x_1811 >= 0 encode_s(z) -{ 0 }-> s(dbl(encArg(x_1810))) :|: x_1810 >= 0, z = 1 + x_1810 encode_s(z) -{ 0 }-> s(cons(encArg(x_1805), encArg(x_2218))) :|: x_1805 >= 0, x_2218 >= 0, z = 1 + x_1805 + x_2218 encode_s(z) -{ 0 }-> s(add(encArg(x_1809), encArg(x_2219))) :|: x_1809 >= 0, z = 1 + x_1809 + x_2219, x_2219 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(x_1802))) :|: x_1802 >= 0, z = 1 + x_1802 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_sqr(z) -{ 0 }-> sqr(terms(encArg(x_1793))) :|: x_1793 >= 0, z = 1 + x_1793 encode_sqr(z) -{ 0 }-> sqr(sqr(encArg(x_1796))) :|: z = 1 + x_1796, x_1796 >= 0 encode_sqr(z) -{ 0 }-> sqr(s(encArg(x_1797))) :|: z = 1 + x_1797, x_1797 >= 0 encode_sqr(z) -{ 0 }-> sqr(recip(encArg(x_1795))) :|: z = 1 + x_1795, x_1795 >= 0 encode_sqr(z) -{ 0 }-> sqr(mark(encArg(x_1792))) :|: z = 1 + x_1792, x_1792 >= 0 encode_sqr(z) -{ 0 }-> sqr(half(encArg(x_1801))) :|: x_1801 >= 0, z = 1 + x_1801 encode_sqr(z) -{ 0 }-> sqr(first(encArg(x_1800), encArg(x_2217))) :|: x_2217 >= 0, z = 1 + x_1800 + x_2217, x_1800 >= 0 encode_sqr(z) -{ 0 }-> sqr(dbl(encArg(x_1799))) :|: x_1799 >= 0, z = 1 + x_1799 encode_sqr(z) -{ 0 }-> sqr(cons(encArg(x_1794), encArg(x_2215))) :|: x_2215 >= 0, z = 1 + x_1794 + x_2215, x_1794 >= 0 encode_sqr(z) -{ 0 }-> sqr(add(encArg(x_1798), encArg(x_2216))) :|: x_1798 >= 0, z = 1 + x_1798 + x_2216, x_2216 >= 0 encode_sqr(z) -{ 0 }-> sqr(active(encArg(x_1791))) :|: z = 1 + x_1791, x_1791 >= 0 encode_sqr(z) -{ 0 }-> sqr(1) :|: z = 1 encode_sqr(z) -{ 0 }-> sqr(0) :|: z = 0 encode_sqr(z) -{ 0 }-> sqr(0) :|: x_1 >= 0, z = x_1 encode_sqr(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_terms(z) -{ 0 }-> terms(terms(encArg(x_1595))) :|: x_1595 >= 0, z = 1 + x_1595 encode_terms(z) -{ 0 }-> terms(sqr(encArg(x_1598))) :|: z = 1 + x_1598, x_1598 >= 0 encode_terms(z) -{ 0 }-> terms(s(encArg(x_1599))) :|: x_1599 >= 0, z = 1 + x_1599 encode_terms(z) -{ 0 }-> terms(recip(encArg(x_1597))) :|: z = 1 + x_1597, x_1597 >= 0 encode_terms(z) -{ 0 }-> terms(mark(encArg(x_1594))) :|: x_1594 >= 0, z = 1 + x_1594 encode_terms(z) -{ 0 }-> terms(half(encArg(x_1603))) :|: z = 1 + x_1603, x_1603 >= 0 encode_terms(z) -{ 0 }-> terms(first(encArg(x_1602), encArg(x_2163))) :|: x_2163 >= 0, z = 1 + x_1602 + x_2163, x_1602 >= 0 encode_terms(z) -{ 0 }-> terms(dbl(encArg(x_1601))) :|: z = 1 + x_1601, x_1601 >= 0 encode_terms(z) -{ 0 }-> terms(cons(encArg(x_1596), encArg(x_2161))) :|: x_2161 >= 0, z = 1 + x_1596 + x_2161, x_1596 >= 0 encode_terms(z) -{ 0 }-> terms(add(encArg(x_1600), encArg(x_2162))) :|: x_1600 >= 0, x_2162 >= 0, z = 1 + x_1600 + x_2162 encode_terms(z) -{ 0 }-> terms(active(encArg(x_1593))) :|: x_1593 >= 0, z = 1 + x_1593 encode_terms(z) -{ 0 }-> terms(1) :|: z = 1 encode_terms(z) -{ 0 }-> terms(0) :|: z = 0 encode_terms(z) -{ 0 }-> terms(0) :|: x_1 >= 0, z = x_1 encode_terms(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 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 half(z) -{ 1 }-> half(X) :|: z = 1 + X, X >= 0 half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 half(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 mark(z) -{ 2 }-> active(terms(active(terms(mark(X348))))) :|: z = 1 + (1 + X348), X348 >= 0 mark(z) -{ 2 }-> active(terms(active(sqr(mark(X349))))) :|: z = 1 + (1 + X349), X349 >= 0 mark(z) -{ 2 }-> active(terms(active(s(mark(X344))))) :|: X344 >= 0, z = 1 + (1 + X344) mark(z) -{ 2 }-> active(terms(active(recip(mark(X345))))) :|: X345 >= 0, z = 1 + (1 + X345) mark(z) -{ 2 }-> active(terms(active(half(mark(X346))))) :|: X346 >= 0, z = 1 + (1 + X346) mark(z) -{ 2 }-> active(terms(active(first(mark(X1136), mark(X2121))))) :|: X1136 >= 0, X2121 >= 0, z = 1 + (1 + X1136 + X2121) mark(z) -{ 2 }-> active(terms(active(dbl(mark(X347))))) :|: X347 >= 0, z = 1 + (1 + X347) mark(z) -{ 2 }-> active(terms(active(cons(mark(X1137), X2122)))) :|: X1137 >= 0, X2122 >= 0, z = 1 + (1 + X1137 + X2122) mark(z) -{ 2 }-> active(terms(active(add(mark(X1135), mark(X2120))))) :|: z = 1 + (1 + X1135 + X2120), X1135 >= 0, X2120 >= 0 mark(z) -{ 2 }-> active(terms(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(terms(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(terms(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(terms(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(sqr(active(terms(mark(X362))))) :|: X362 >= 0, z = 1 + (1 + X362) mark(z) -{ 2 }-> active(sqr(active(sqr(mark(X363))))) :|: X363 >= 0, z = 1 + (1 + X363) mark(z) -{ 2 }-> active(sqr(active(s(mark(X358))))) :|: X358 >= 0, z = 1 + (1 + X358) mark(z) -{ 2 }-> active(sqr(active(recip(mark(X359))))) :|: z = 1 + (1 + X359), X359 >= 0 mark(z) -{ 2 }-> active(sqr(active(half(mark(X360))))) :|: X360 >= 0, z = 1 + (1 + X360) mark(z) -{ 2 }-> active(sqr(active(first(mark(X1144), mark(X2129))))) :|: z = 1 + (1 + X1144 + X2129), X2129 >= 0, X1144 >= 0 mark(z) -{ 2 }-> active(sqr(active(dbl(mark(X361))))) :|: X361 >= 0, z = 1 + (1 + X361) mark(z) -{ 2 }-> active(sqr(active(cons(mark(X1145), X2130)))) :|: X2130 >= 0, z = 1 + (1 + X1145 + X2130), X1145 >= 0 mark(z) -{ 2 }-> active(sqr(active(add(mark(X1143), mark(X2128))))) :|: X2128 >= 0, z = 1 + (1 + X1143 + X2128), X1143 >= 0 mark(z) -{ 2 }-> active(sqr(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(sqr(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(sqr(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(sqr(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(s(active(terms(mark(X11))))) :|: X11 >= 0, z = 1 + (1 + X11) mark(z) -{ 2 }-> active(s(active(sqr(mark(X13))))) :|: z = 1 + (1 + X13), X13 >= 0 mark(z) -{ 2 }-> active(s(active(s(mark(X7))))) :|: X7 >= 0, z = 1 + (1 + X7) mark(z) -{ 2 }-> active(s(active(recip(mark(X8))))) :|: X8 >= 0, z = 1 + (1 + X8) mark(z) -{ 2 }-> active(s(active(half(mark(X9))))) :|: X9 >= 0, z = 1 + (1 + X9) mark(z) -{ 2 }-> active(s(active(first(mark(X1''), mark(X2''))))) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 2 }-> active(s(active(dbl(mark(X10))))) :|: z = 1 + (1 + X10), X10 >= 0 mark(z) -{ 2 }-> active(s(active(cons(mark(X12), X21)))) :|: X12 >= 0, z = 1 + (1 + X12 + X21), X21 >= 0 mark(z) -{ 2 }-> active(s(active(add(mark(X1'), mark(X2'))))) :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 2 }-> active(s(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(s(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(s(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(s(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(recip(active(terms(mark(X322))))) :|: z = 1 + (1 + X322), X322 >= 0 mark(z) -{ 2 }-> active(recip(active(sqr(mark(X323))))) :|: X323 >= 0, z = 1 + (1 + X323) mark(z) -{ 2 }-> active(recip(active(s(mark(X318))))) :|: z = 1 + (1 + X318), X318 >= 0 mark(z) -{ 2 }-> active(recip(active(recip(mark(X319))))) :|: X319 >= 0, z = 1 + (1 + X319) mark(z) -{ 2 }-> active(recip(active(half(mark(X320))))) :|: X320 >= 0, z = 1 + (1 + X320) mark(z) -{ 2 }-> active(recip(active(first(mark(X1125), mark(X2110))))) :|: X1125 >= 0, X2110 >= 0, z = 1 + (1 + X1125 + X2110) mark(z) -{ 2 }-> active(recip(active(dbl(mark(X321))))) :|: z = 1 + (1 + X321), X321 >= 0 mark(z) -{ 2 }-> active(recip(active(cons(mark(X1126), X2111)))) :|: X1126 >= 0, X2111 >= 0, z = 1 + (1 + X1126 + X2111) mark(z) -{ 2 }-> active(recip(active(add(mark(X1124), mark(X2109))))) :|: X2109 >= 0, z = 1 + (1 + X1124 + X2109), X1124 >= 0 mark(z) -{ 2 }-> active(recip(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(recip(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(recip(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(recip(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(half(active(terms(mark(X328))))) :|: z = 1 + (1 + X328), X328 >= 0 mark(z) -{ 2 }-> active(half(active(sqr(mark(X329))))) :|: X329 >= 0, z = 1 + (1 + X329) mark(z) -{ 2 }-> active(half(active(s(mark(X324))))) :|: z = 1 + (1 + X324), X324 >= 0 mark(z) -{ 2 }-> active(half(active(recip(mark(X325))))) :|: X325 >= 0, z = 1 + (1 + X325) mark(z) -{ 2 }-> active(half(active(half(mark(X326))))) :|: X326 >= 0, z = 1 + (1 + X326) mark(z) -{ 2 }-> active(half(active(first(mark(X1128), mark(X2113))))) :|: X2113 >= 0, z = 1 + (1 + X1128 + X2113), X1128 >= 0 mark(z) -{ 2 }-> active(half(active(dbl(mark(X327))))) :|: z = 1 + (1 + X327), X327 >= 0 mark(z) -{ 2 }-> active(half(active(cons(mark(X1129), X2114)))) :|: z = 1 + (1 + X1129 + X2114), X1129 >= 0, X2114 >= 0 mark(z) -{ 2 }-> active(half(active(add(mark(X1127), mark(X2112))))) :|: X2112 >= 0, X1127 >= 0, z = 1 + (1 + X1127 + X2112) mark(z) -{ 2 }-> active(half(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(half(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(half(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(half(1 + 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) -{ 2 }-> active(dbl(active(terms(mark(X336))))) :|: z = 1 + (1 + X336), X336 >= 0 mark(z) -{ 2 }-> active(dbl(active(sqr(mark(X337))))) :|: z = 1 + (1 + X337), X337 >= 0 mark(z) -{ 2 }-> active(dbl(active(s(mark(X332))))) :|: z = 1 + (1 + X332), X332 >= 0 mark(z) -{ 2 }-> active(dbl(active(recip(mark(X333))))) :|: z = 1 + (1 + X333), X333 >= 0 mark(z) -{ 2 }-> active(dbl(active(half(mark(X334))))) :|: z = 1 + (1 + X334), X334 >= 0 mark(z) -{ 2 }-> active(dbl(active(first(mark(X1131), mark(X2116))))) :|: z = 1 + (1 + X1131 + X2116), X1131 >= 0, X2116 >= 0 mark(z) -{ 2 }-> active(dbl(active(dbl(mark(X335))))) :|: X335 >= 0, z = 1 + (1 + X335) mark(z) -{ 2 }-> active(dbl(active(cons(mark(X1132), X2117)))) :|: X2117 >= 0, z = 1 + (1 + X1132 + X2117), X1132 >= 0 mark(z) -{ 2 }-> active(dbl(active(add(mark(X1130), mark(X2115))))) :|: X1130 >= 0, z = 1 + (1 + X1130 + X2115), X2115 >= 0 mark(z) -{ 2 }-> active(dbl(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(dbl(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(dbl(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(dbl(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(cons(active(terms(mark(X356))), X2)) :|: X2 >= 0, z = 1 + (1 + X356) + X2, X356 >= 0 mark(z) -{ 2 }-> active(cons(active(sqr(mark(X357))), X2)) :|: z = 1 + (1 + X357) + X2, X2 >= 0, X357 >= 0 mark(z) -{ 2 }-> active(cons(active(s(mark(X352))), X2)) :|: X352 >= 0, z = 1 + (1 + X352) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(recip(mark(X353))), X2)) :|: X353 >= 0, X2 >= 0, z = 1 + (1 + X353) + X2 mark(z) -{ 2 }-> active(cons(active(half(mark(X354))), X2)) :|: X354 >= 0, z = 1 + (1 + X354) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(first(mark(X1141), mark(X2126))), X2)) :|: z = 1 + (1 + X1141 + X2126) + X2, X2 >= 0, X1141 >= 0, X2126 >= 0 mark(z) -{ 2 }-> active(cons(active(dbl(mark(X355))), X2)) :|: z = 1 + (1 + X355) + X2, X355 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(cons(mark(X1142), X2127)), X2)) :|: X2127 >= 0, X2 >= 0, z = 1 + (1 + X1142 + X2127) + X2, X1142 >= 0 mark(z) -{ 2 }-> active(cons(active(add(mark(X1140), mark(X2125))), X2)) :|: X1140 >= 0, z = 1 + (1 + X1140 + X2125) + X2, X2 >= 0, X2125 >= 0 mark(z) -{ 2 }-> active(cons(active(1), X2)) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(0), X2)) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 1 }-> active(cons(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(cons(1 + X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(add(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 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 recip(z) -{ 1 }-> recip(X) :|: z = 1 + X, X >= 0 recip(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 recip(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 sqr(z) -{ 1 }-> sqr(X) :|: z = 1 + X, X >= 0 sqr(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 sqr(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 terms(z) -{ 1 }-> terms(X) :|: z = 1 + X, X >= 0 terms(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 terms(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 ---------------------------------------- (31) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 2 }-> mark(s(s(dbl(z - 3)))) :|: z - 3 >= 0 active(z) -{ 1 }-> mark(s(s(0))) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(s(s(1 + (z - 2)))) :|: z - 2 >= 0 active(z) -{ 2 }-> mark(s(half(z - 4))) :|: z - 4 >= 0 active(z) -{ 2 }-> mark(s(add(X, X2123))) :|: X2123 >= 0, z = 1 + (1 + X) + (1 + X2123), X >= 0 active(z) -{ 2 }-> mark(s(add(X, X2124))) :|: z = 1 + (1 + X) + (1 + X2124), X >= 0, X2124 >= 0 active(z) -{ 2 }-> mark(s(add(X1138, Y))) :|: z = 1 + (1 + (1 + X1138)) + Y, Y >= 0, X1138 >= 0 active(z) -{ 2 }-> mark(s(add(X1139, Y))) :|: Y >= 0, z = 1 + (1 + (1 + X1139)) + Y, X1139 >= 0 active(z) -{ 3 }-> mark(s(add(sqr(z - 3), dbl(z - 3)))) :|: z - 3 >= 0 active(z) -{ 2 }-> mark(s(add(sqr(z - 3), 0))) :|: z - 3 >= 0 active(z) -{ 2 }-> mark(s(add(sqr(z - 3), 1 + (1 + (z - 3))))) :|: z - 3 >= 0 active(z) -{ 2 }-> mark(s(add(0, dbl(z - 3)))) :|: z - 3 >= 0 active(z) -{ 1 }-> mark(s(add(0, 0))) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(s(add(0, 1 + (z - 2)))) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(s(add(1 + (z - 2), 0))) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(s(add(1 + (z - 2), 1 + (z - 2)))) :|: z - 2 >= 0 active(z) -{ 2 }-> mark(s(add(1 + (1 + (z - 3)), dbl(z - 3)))) :|: z - 3 >= 0 active(z) -{ 1 }-> mark(s(0)) :|: z - 3 >= 0 active(z) -{ 1 }-> mark(s(0)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(s(1 + (z - 3))) :|: z - 3 >= 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, X2118))) :|: Y >= 0, X2118 >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X2118)), X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X2119))) :|: z = 1 + (1 + X) + (1 + Y + (1 + X2119)), Y >= 0, X2119 >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X1133, Z))) :|: Z >= 0, Y >= 0, z = 1 + (1 + (1 + X1133)) + (1 + Y + Z), X1133 >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X1134, Z))) :|: Z >= 0, Y >= 0, z = 1 + (1 + (1 + X1134)) + (1 + Y + Z), X1134 >= 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) -{ 3 }-> mark(cons(recip(sqr(z - 2)), terms(s(z - 2)))) :|: z - 2 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(z - 2)), terms(0))) :|: z - 2 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(z - 2)), terms(1 + (1 + (z - 2))))) :|: z - 2 >= 0 active(z) -{ 2 }-> mark(cons(recip(0), terms(s(z - 2)))) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(cons(recip(0), terms(0))) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(cons(recip(0), terms(1 + (z - 1)))) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(cons(recip(1 + (z - 1)), terms(0))) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(cons(recip(1 + (z - 1)), terms(1 + (z - 1)))) :|: z - 1 >= 0 active(z) -{ 2 }-> mark(cons(recip(1 + (1 + (z - 2))), terms(s(z - 2)))) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(1) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + (1 + 0) active(z) -{ 1 }-> mark(z - 2) :|: z - 2 >= 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 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 dbl(z) -{ 1 }-> dbl(z - 1) :|: z - 1 >= 0 dbl(z) -{ 0 }-> 0 :|: z >= 0 dbl(z) -{ 0 }-> 1 + z :|: z >= 0 encArg(z) -{ 0 }-> terms(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(first(encArg(x_130), encArg(x_27))) :|: x_130 >= 0, x_27 >= 0, z = 1 + (1 + x_130 + x_27) encArg(z) -{ 0 }-> terms(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(cons(encArg(x_124), encArg(x_25))) :|: x_124 >= 0, z = 1 + (1 + x_124 + x_25), x_25 >= 0 encArg(z) -{ 0 }-> terms(add(encArg(x_128), encArg(x_26))) :|: x_128 >= 0, x_26 >= 0, z = 1 + (1 + x_128 + x_26) encArg(z) -{ 0 }-> terms(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> terms(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> terms(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> sqr(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(first(encArg(x_1217), encArg(x_258))) :|: x_258 >= 0, x_1217 >= 0, z = 1 + (1 + x_1217 + x_258) encArg(z) -{ 0 }-> sqr(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(cons(encArg(x_1211), encArg(x_256))) :|: x_1211 >= 0, z = 1 + (1 + x_1211 + x_256), x_256 >= 0 encArg(z) -{ 0 }-> sqr(add(encArg(x_1215), encArg(x_257))) :|: x_1215 >= 0, z = 1 + (1 + x_1215 + x_257), x_257 >= 0 encArg(z) -{ 0 }-> sqr(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> sqr(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> sqr(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> s(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(first(encArg(x_1228), encArg(x_261))) :|: z = 1 + (1 + x_1228 + x_261), x_261 >= 0, x_1228 >= 0 encArg(z) -{ 0 }-> s(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_1222), encArg(x_259))) :|: z = 1 + (1 + x_1222 + x_259), x_259 >= 0, x_1222 >= 0 encArg(z) -{ 0 }-> s(add(encArg(x_1226), encArg(x_260))) :|: z = 1 + (1 + x_1226 + x_260), x_1226 >= 0, x_260 >= 0 encArg(z) -{ 0 }-> s(active(encArg(z - 2))) :|: z - 2 >= 0 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 }-> recip(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(first(encArg(x_1206), encArg(x_255))) :|: x_255 >= 0, x_1206 >= 0, z = 1 + (1 + x_1206 + x_255) encArg(z) -{ 0 }-> recip(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(cons(encArg(x_1200), encArg(x_253))) :|: z = 1 + (1 + x_1200 + x_253), x_1200 >= 0, x_253 >= 0 encArg(z) -{ 0 }-> recip(add(encArg(x_1204), encArg(x_254))) :|: x_254 >= 0, x_1204 >= 0, z = 1 + (1 + x_1204 + x_254) encArg(z) -{ 0 }-> recip(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> recip(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> recip(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> mark(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(first(encArg(x_119), encArg(x_24))) :|: z = 1 + (1 + x_119 + x_24), x_24 >= 0, x_119 >= 0 encArg(z) -{ 0 }-> mark(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_113), encArg(x_22))) :|: z = 1 + (1 + x_113 + x_22), x_113 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(add(encArg(x_117), encArg(x_23))) :|: x_117 >= 0, x_23 >= 0, z = 1 + (1 + x_117 + x_23) encArg(z) -{ 0 }-> mark(active(encArg(z - 2))) :|: z - 2 >= 0 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 }-> half(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(first(encArg(x_1580), encArg(x_2157))) :|: z = 1 + (1 + x_1580 + x_2157), x_1580 >= 0, x_2157 >= 0 encArg(z) -{ 0 }-> half(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(cons(encArg(x_1574), encArg(x_2155))) :|: x_1574 >= 0, z = 1 + (1 + x_1574 + x_2155), x_2155 >= 0 encArg(z) -{ 0 }-> half(add(encArg(x_1578), encArg(x_2156))) :|: x_2156 >= 0, x_1578 >= 0, z = 1 + (1 + x_1578 + x_2156) encArg(z) -{ 0 }-> half(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(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 }-> dbl(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(first(encArg(x_1404), encArg(x_2109))) :|: z = 1 + (1 + x_1404 + x_2109), x_1404 >= 0, x_2109 >= 0 encArg(z) -{ 0 }-> dbl(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(cons(encArg(x_1398), encArg(x_2107))) :|: z = 1 + (1 + x_1398 + x_2107), x_1398 >= 0, x_2107 >= 0 encArg(z) -{ 0 }-> dbl(add(encArg(x_1402), encArg(x_2108))) :|: z = 1 + (1 + x_1402 + x_2108), x_2108 >= 0, x_1402 >= 0 encArg(z) -{ 0 }-> dbl(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> dbl(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> dbl(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> cons(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> add(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> active(terms(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(sqr(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(recip(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(first(encArg(x_18), encArg(x_21))) :|: z = 1 + (1 + x_18 + x_21), x_18 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> active(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(cons(encArg(x_12), encArg(x_2'))) :|: z = 1 + (1 + x_12 + x_2'), x_2' >= 0, x_12 >= 0 encArg(z) -{ 0 }-> active(add(encArg(x_16), encArg(x_2''))) :|: x_16 >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'') encArg(z) -{ 0 }-> active(active(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encode_0 -{ 0 }-> 0 :|: encode_active(z) -{ 0 }-> active(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(s(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(half(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(first(encArg(x_1591), encArg(x_2160))) :|: x_1591 >= 0, z = 1 + x_1591 + x_2160, x_2160 >= 0 encode_active(z) -{ 0 }-> active(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(cons(encArg(x_1585), encArg(x_2158))) :|: x_1585 >= 0, x_2158 >= 0, z = 1 + x_1585 + x_2158 encode_active(z) -{ 0 }-> active(add(encArg(x_1589), encArg(x_2159))) :|: z = 1 + x_1589 + x_2159, x_1589 >= 0, x_2159 >= 0 encode_active(z) -{ 0 }-> active(active(encArg(z - 1))) :|: z - 1 >= 0 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_cons(z, z') -{ 0 }-> cons(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_cons(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_dbl(z) -{ 0 }-> dbl(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(s(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(half(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(first(encArg(x_1987), encArg(x_2268))) :|: z = 1 + x_1987 + x_2268, x_2268 >= 0, x_1987 >= 0 encode_dbl(z) -{ 0 }-> dbl(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(cons(encArg(x_1981), encArg(x_2266))) :|: x_1981 >= 0, z = 1 + x_1981 + x_2266, x_2266 >= 0 encode_dbl(z) -{ 0 }-> dbl(add(encArg(x_1985), encArg(x_2267))) :|: x_1985 >= 0, z = 1 + x_1985 + x_2267, x_2267 >= 0 encode_dbl(z) -{ 0 }-> dbl(active(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(1) :|: z = 1 encode_dbl(z) -{ 0 }-> dbl(0) :|: z = 0 encode_dbl(z) -{ 0 }-> dbl(0) :|: z >= 0 encode_dbl(z) -{ 0 }-> 0 :|: z >= 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_half(z) -{ 0 }-> half(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(s(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(first(encArg(x_11163), encArg(x_2316))) :|: x_11163 >= 0, x_2316 >= 0, z = 1 + x_11163 + x_2316 encode_half(z) -{ 0 }-> half(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(cons(encArg(x_11157), encArg(x_2314))) :|: x_11157 >= 0, z = 1 + x_11157 + x_2314, x_2314 >= 0 encode_half(z) -{ 0 }-> half(add(encArg(x_11161), encArg(x_2315))) :|: x_11161 >= 0, x_2315 >= 0, z = 1 + x_11161 + x_2315 encode_half(z) -{ 0 }-> half(active(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_mark(z) -{ 0 }-> mark(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(half(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(first(encArg(x_1613), encArg(x_2166))) :|: z = 1 + x_1613 + x_2166, x_1613 >= 0, x_2166 >= 0 encode_mark(z) -{ 0 }-> mark(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_1607), encArg(x_2164))) :|: z = 1 + x_1607 + x_2164, x_2164 >= 0, x_1607 >= 0 encode_mark(z) -{ 0 }-> mark(add(encArg(x_1611), encArg(x_2165))) :|: x_1611 >= 0, z = 1 + x_1611 + x_2165, x_2165 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(1) :|: z = 1 encode_mark(z) -{ 0 }-> mark(0) :|: z = 0 encode_mark(z) -{ 0 }-> mark(0) :|: z >= 0 encode_mark(z) -{ 0 }-> 0 :|: z >= 0 encode_nil -{ 0 }-> 1 :|: encode_nil -{ 0 }-> 0 :|: encode_recip(z) -{ 0 }-> recip(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(s(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(half(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(first(encArg(x_1789), encArg(x_2214))) :|: x_1789 >= 0, z = 1 + x_1789 + x_2214, x_2214 >= 0 encode_recip(z) -{ 0 }-> recip(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(cons(encArg(x_1783), encArg(x_2212))) :|: x_1783 >= 0, x_2212 >= 0, z = 1 + x_1783 + x_2212 encode_recip(z) -{ 0 }-> recip(add(encArg(x_1787), encArg(x_2213))) :|: x_2213 >= 0, x_1787 >= 0, z = 1 + x_1787 + x_2213 encode_recip(z) -{ 0 }-> recip(active(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(1) :|: z = 1 encode_recip(z) -{ 0 }-> recip(0) :|: z = 0 encode_recip(z) -{ 0 }-> recip(0) :|: z >= 0 encode_recip(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> s(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(s(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(half(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(first(encArg(x_1811), encArg(x_2220))) :|: x_2220 >= 0, z = 1 + x_1811 + x_2220, x_1811 >= 0 encode_s(z) -{ 0 }-> s(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(cons(encArg(x_1805), encArg(x_2218))) :|: x_1805 >= 0, x_2218 >= 0, z = 1 + x_1805 + x_2218 encode_s(z) -{ 0 }-> s(add(encArg(x_1809), encArg(x_2219))) :|: x_1809 >= 0, z = 1 + x_1809 + x_2219, x_2219 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(z - 1))) :|: z - 1 >= 0 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_sqr(z) -{ 0 }-> sqr(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(s(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(half(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(first(encArg(x_1800), encArg(x_2217))) :|: x_2217 >= 0, z = 1 + x_1800 + x_2217, x_1800 >= 0 encode_sqr(z) -{ 0 }-> sqr(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(cons(encArg(x_1794), encArg(x_2215))) :|: x_2215 >= 0, z = 1 + x_1794 + x_2215, x_1794 >= 0 encode_sqr(z) -{ 0 }-> sqr(add(encArg(x_1798), encArg(x_2216))) :|: x_1798 >= 0, z = 1 + x_1798 + x_2216, x_2216 >= 0 encode_sqr(z) -{ 0 }-> sqr(active(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(1) :|: z = 1 encode_sqr(z) -{ 0 }-> sqr(0) :|: z = 0 encode_sqr(z) -{ 0 }-> sqr(0) :|: z >= 0 encode_sqr(z) -{ 0 }-> 0 :|: z >= 0 encode_terms(z) -{ 0 }-> terms(terms(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(sqr(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(s(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(recip(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(half(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(first(encArg(x_1602), encArg(x_2163))) :|: x_2163 >= 0, z = 1 + x_1602 + x_2163, x_1602 >= 0 encode_terms(z) -{ 0 }-> terms(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(cons(encArg(x_1596), encArg(x_2161))) :|: x_2161 >= 0, z = 1 + x_1596 + x_2161, x_1596 >= 0 encode_terms(z) -{ 0 }-> terms(add(encArg(x_1600), encArg(x_2162))) :|: x_1600 >= 0, x_2162 >= 0, z = 1 + x_1600 + x_2162 encode_terms(z) -{ 0 }-> terms(active(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(1) :|: z = 1 encode_terms(z) -{ 0 }-> terms(0) :|: z = 0 encode_terms(z) -{ 0 }-> terms(0) :|: z >= 0 encode_terms(z) -{ 0 }-> 0 :|: z >= 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 half(z) -{ 1 }-> half(z - 1) :|: z - 1 >= 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 0 }-> 1 + z :|: z >= 0 mark(z) -{ 2 }-> active(terms(active(terms(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(terms(active(sqr(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(terms(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(terms(active(recip(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(terms(active(half(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(terms(active(first(mark(X1136), mark(X2121))))) :|: X1136 >= 0, X2121 >= 0, z = 1 + (1 + X1136 + X2121) mark(z) -{ 2 }-> active(terms(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(terms(active(cons(mark(X1137), X2122)))) :|: X1137 >= 0, X2122 >= 0, z = 1 + (1 + X1137 + X2122) mark(z) -{ 2 }-> active(terms(active(add(mark(X1135), mark(X2120))))) :|: z = 1 + (1 + X1135 + X2120), X1135 >= 0, X2120 >= 0 mark(z) -{ 2 }-> active(terms(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(terms(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(terms(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(terms(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(sqr(active(terms(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(sqr(active(sqr(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(sqr(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(sqr(active(recip(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(sqr(active(half(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(sqr(active(first(mark(X1144), mark(X2129))))) :|: z = 1 + (1 + X1144 + X2129), X2129 >= 0, X1144 >= 0 mark(z) -{ 2 }-> active(sqr(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(sqr(active(cons(mark(X1145), X2130)))) :|: X2130 >= 0, z = 1 + (1 + X1145 + X2130), X1145 >= 0 mark(z) -{ 2 }-> active(sqr(active(add(mark(X1143), mark(X2128))))) :|: X2128 >= 0, z = 1 + (1 + X1143 + X2128), X1143 >= 0 mark(z) -{ 2 }-> active(sqr(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(sqr(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(sqr(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(sqr(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(s(active(terms(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(sqr(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(recip(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(half(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(first(mark(X1''), mark(X2''))))) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 2 }-> active(s(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(cons(mark(X12), X21)))) :|: X12 >= 0, z = 1 + (1 + X12 + X21), X21 >= 0 mark(z) -{ 2 }-> active(s(active(add(mark(X1'), mark(X2'))))) :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 2 }-> active(s(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(s(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(s(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(s(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(recip(active(terms(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(recip(active(sqr(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(recip(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(recip(active(recip(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(recip(active(half(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(recip(active(first(mark(X1125), mark(X2110))))) :|: X1125 >= 0, X2110 >= 0, z = 1 + (1 + X1125 + X2110) mark(z) -{ 2 }-> active(recip(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(recip(active(cons(mark(X1126), X2111)))) :|: X1126 >= 0, X2111 >= 0, z = 1 + (1 + X1126 + X2111) mark(z) -{ 2 }-> active(recip(active(add(mark(X1124), mark(X2109))))) :|: X2109 >= 0, z = 1 + (1 + X1124 + X2109), X1124 >= 0 mark(z) -{ 2 }-> active(recip(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(recip(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(recip(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(recip(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(half(active(terms(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(half(active(sqr(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(half(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(half(active(recip(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(half(active(half(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(half(active(first(mark(X1128), mark(X2113))))) :|: X2113 >= 0, z = 1 + (1 + X1128 + X2113), X1128 >= 0 mark(z) -{ 2 }-> active(half(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(half(active(cons(mark(X1129), X2114)))) :|: z = 1 + (1 + X1129 + X2114), X1129 >= 0, X2114 >= 0 mark(z) -{ 2 }-> active(half(active(add(mark(X1127), mark(X2112))))) :|: X2112 >= 0, X1127 >= 0, z = 1 + (1 + X1127 + X2112) mark(z) -{ 2 }-> active(half(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(half(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(half(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(half(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(first(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(dbl(active(terms(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(dbl(active(sqr(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(dbl(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(dbl(active(recip(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(dbl(active(half(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(dbl(active(first(mark(X1131), mark(X2116))))) :|: z = 1 + (1 + X1131 + X2116), X1131 >= 0, X2116 >= 0 mark(z) -{ 2 }-> active(dbl(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(dbl(active(cons(mark(X1132), X2117)))) :|: X2117 >= 0, z = 1 + (1 + X1132 + X2117), X1132 >= 0 mark(z) -{ 2 }-> active(dbl(active(add(mark(X1130), mark(X2115))))) :|: X1130 >= 0, z = 1 + (1 + X1130 + X2115), X2115 >= 0 mark(z) -{ 2 }-> active(dbl(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(dbl(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(dbl(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(dbl(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(cons(active(terms(mark(X356))), X2)) :|: X2 >= 0, z = 1 + (1 + X356) + X2, X356 >= 0 mark(z) -{ 2 }-> active(cons(active(sqr(mark(X357))), X2)) :|: z = 1 + (1 + X357) + X2, X2 >= 0, X357 >= 0 mark(z) -{ 2 }-> active(cons(active(s(mark(X352))), X2)) :|: X352 >= 0, z = 1 + (1 + X352) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(recip(mark(X353))), X2)) :|: X353 >= 0, X2 >= 0, z = 1 + (1 + X353) + X2 mark(z) -{ 2 }-> active(cons(active(half(mark(X354))), X2)) :|: X354 >= 0, z = 1 + (1 + X354) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(first(mark(X1141), mark(X2126))), X2)) :|: z = 1 + (1 + X1141 + X2126) + X2, X2 >= 0, X1141 >= 0, X2126 >= 0 mark(z) -{ 2 }-> active(cons(active(dbl(mark(X355))), X2)) :|: z = 1 + (1 + X355) + X2, X355 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(cons(mark(X1142), X2127)), X2)) :|: X2127 >= 0, X2 >= 0, z = 1 + (1 + X1142 + X2127) + X2, X1142 >= 0 mark(z) -{ 2 }-> active(cons(active(add(mark(X1140), mark(X2125))), X2)) :|: X1140 >= 0, z = 1 + (1 + X1140 + X2125) + X2, X2 >= 0, X2125 >= 0 mark(z) -{ 2 }-> active(cons(active(1), z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(cons(active(0), z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(cons(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(cons(1 + X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(add(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(1) :|: z = 1 mark(z) -{ 1 }-> active(0) :|: z = 0 mark(z) -{ 0 }-> 0 :|: z >= 0 mark(z) -{ 0 }-> 1 + z :|: z >= 0 recip(z) -{ 1 }-> recip(z - 1) :|: z - 1 >= 0 recip(z) -{ 0 }-> 0 :|: z >= 0 recip(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 sqr(z) -{ 1 }-> sqr(z - 1) :|: z - 1 >= 0 sqr(z) -{ 0 }-> 0 :|: z >= 0 sqr(z) -{ 0 }-> 1 + z :|: z >= 0 terms(z) -{ 1 }-> terms(z - 1) :|: z - 1 >= 0 terms(z) -{ 0 }-> 0 :|: z >= 0 terms(z) -{ 0 }-> 1 + z :|: z >= 0 ---------------------------------------- (33) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (34) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_terms(z0) -> terms(encArg(z0)) encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_recip(z0) -> recip(encArg(z0)) encode_sqr(z0) -> sqr(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_0 -> 0 encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_dbl(z0) -> dbl(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_half(z0) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(0) -> c ENCARG(nil) -> c1 ENCARG(cons_active(z0)) -> c2(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ENCODE_ACTIVE(z0) -> c13(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_TERMS(z0) -> c14(TERMS(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c15(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c16(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_RECIP(z0) -> c17(RECIP(encArg(z0)), ENCARG(z0)) ENCODE_SQR(z0) -> c18(SQR(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c19(S(encArg(z0)), ENCARG(z0)) ENCODE_0 -> c20 ENCODE_ADD(z0, z1) -> c21(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DBL(z0) -> c22(DBL(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c23(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_NIL -> c24 ENCODE_HALF(z0) -> c25(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), CONS(recip(sqr(z0)), terms(s(z0))), RECIP(sqr(z0)), SQR(z0), TERMS(s(z0)), S(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), S(add(sqr(z0), dbl(z0))), ADD(sqr(z0), dbl(z0)), SQR(z0), DBL(z0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), S(half(z0)), HALF(z0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c44(ACTIVE(0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c48(ACTIVE(nil)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) S tuples: ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), CONS(recip(sqr(z0)), terms(s(z0))), RECIP(sqr(z0)), SQR(z0), TERMS(s(z0)), S(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), S(add(sqr(z0), dbl(z0))), ADD(sqr(z0), dbl(z0)), SQR(z0), DBL(z0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), S(half(z0)), HALF(z0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c44(ACTIVE(0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c48(ACTIVE(nil)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) K tuples:none Defined Rule Symbols: active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1, encArg_1, encode_active_1, encode_terms_1, encode_mark_1, encode_cons_2, encode_recip_1, encode_sqr_1, encode_s_1, encode_0, encode_add_2, encode_dbl_1, encode_first_2, encode_nil, encode_half_1 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_0, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_NIL, ENCODE_HALF_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1 Compound Symbols: c, c1, c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c13_2, c14_2, c15_2, c16_3, c17_2, c18_2, c19_2, c20, c21_3, c22_2, c23_3, c24, c25_2, c26_6, c27_1, c28_5, c29_1, c30_4, c31_1, c32_3, c33_1, c34_3, c35_1, c36_1, c37_3, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c44_1, c45_4, c46_3, c47_4, c48_1, c49_3, 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, c72_1, c73_1 ---------------------------------------- (35) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCODE_NIL -> c24 ENCODE_0 -> c20 ENCARG(nil) -> c1 ENCARG(0) -> c ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_terms(z0) -> terms(encArg(z0)) encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_recip(z0) -> recip(encArg(z0)) encode_sqr(z0) -> sqr(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_0 -> 0 encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_dbl(z0) -> dbl(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_half(z0) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_active(z0)) -> c2(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ENCODE_ACTIVE(z0) -> c13(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_TERMS(z0) -> c14(TERMS(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c15(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c16(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_RECIP(z0) -> c17(RECIP(encArg(z0)), ENCARG(z0)) ENCODE_SQR(z0) -> c18(SQR(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c19(S(encArg(z0)), ENCARG(z0)) ENCODE_ADD(z0, z1) -> c21(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DBL(z0) -> c22(DBL(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c23(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_HALF(z0) -> c25(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), CONS(recip(sqr(z0)), terms(s(z0))), RECIP(sqr(z0)), SQR(z0), TERMS(s(z0)), S(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), S(add(sqr(z0), dbl(z0))), ADD(sqr(z0), dbl(z0)), SQR(z0), DBL(z0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), S(half(z0)), HALF(z0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c44(ACTIVE(0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c48(ACTIVE(nil)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) S tuples: ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), CONS(recip(sqr(z0)), terms(s(z0))), RECIP(sqr(z0)), SQR(z0), TERMS(s(z0)), S(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), S(add(sqr(z0), dbl(z0))), ADD(sqr(z0), dbl(z0)), SQR(z0), DBL(z0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), S(half(z0)), HALF(z0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c44(ACTIVE(0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c48(ACTIVE(nil)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) K tuples:none Defined Rule Symbols: active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1, encArg_1, encode_active_1, encode_terms_1, encode_mark_1, encode_cons_2, encode_recip_1, encode_sqr_1, encode_s_1, encode_0, encode_add_2, encode_dbl_1, encode_first_2, encode_nil, encode_half_1 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1 Compound Symbols: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c13_2, c14_2, c15_2, c16_3, c17_2, c18_2, c19_2, c21_3, c22_2, c23_3, c25_2, c26_6, c27_1, c28_5, c29_1, c30_4, c31_1, c32_3, c33_1, c34_3, c35_1, c36_1, c37_3, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c44_1, c45_4, c46_3, c47_4, c48_1, c49_3, 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, c72_1, c73_1 ---------------------------------------- (37) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 11 trailing tuple parts ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_terms(z0) -> terms(encArg(z0)) encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_recip(z0) -> recip(encArg(z0)) encode_sqr(z0) -> sqr(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_0 -> 0 encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_dbl(z0) -> dbl(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_half(z0) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_active(z0)) -> c2(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ENCODE_ACTIVE(z0) -> c13(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_TERMS(z0) -> c14(TERMS(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c15(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c16(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_RECIP(z0) -> c17(RECIP(encArg(z0)), ENCARG(z0)) ENCODE_SQR(z0) -> c18(SQR(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c19(S(encArg(z0)), ENCARG(z0)) ENCODE_ADD(z0, z1) -> c21(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DBL(z0) -> c22(DBL(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c23(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_HALF(z0) -> c25(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1, encArg_1, encode_active_1, encode_terms_1, encode_mark_1, encode_cons_2, encode_recip_1, encode_sqr_1, encode_s_1, encode_0, encode_add_2, encode_dbl_1, encode_first_2, encode_nil, encode_half_1 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1 Compound Symbols: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c13_2, c14_2, c15_2, c16_3, c17_2, c18_2, c19_2, c21_3, c22_2, c23_3, c25_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48 ---------------------------------------- (39) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_terms(z0) -> terms(encArg(z0)) encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_recip(z0) -> recip(encArg(z0)) encode_sqr(z0) -> sqr(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_0 -> 0 encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_dbl(z0) -> dbl(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_half(z0) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_active(z0)) -> c2(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_TERMS(z0) -> c(ENCARG(z0)) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_CONS(z0, z1) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z1)) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_RECIP(z0) -> c(ENCARG(z0)) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_SQR(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_S(z0) -> c(ENCARG(z0)) 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_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_DBL(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_HALF(z0) -> c(HALF(encArg(z0))) ENCODE_HALF(z0) -> c(ENCARG(z0)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1, encArg_1, encode_active_1, encode_terms_1, encode_mark_1, encode_cons_2, encode_recip_1, encode_sqr_1, encode_s_1, encode_0, encode_add_2, encode_dbl_1, encode_first_2, encode_nil, encode_half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1 ---------------------------------------- (41) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 14 leading nodes: ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_TERMS(z0) -> c(ENCARG(z0)) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z0)) ENCODE_CONS(z0, z1) -> c(ENCARG(z1)) ENCODE_RECIP(z0) -> c(ENCARG(z0)) ENCODE_SQR(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_ADD(z0, z1) -> c(ENCARG(z0)) ENCODE_ADD(z0, z1) -> c(ENCARG(z1)) ENCODE_DBL(z0) -> c(ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c(ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c(ENCARG(z1)) ENCODE_HALF(z0) -> c(ENCARG(z0)) ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) encode_active(z0) -> active(encArg(z0)) encode_terms(z0) -> terms(encArg(z0)) encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_recip(z0) -> recip(encArg(z0)) encode_sqr(z0) -> sqr(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_0 -> 0 encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_dbl(z0) -> dbl(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_half(z0) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_active(z0)) -> c2(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1, encArg_1, encode_active_1, encode_terms_1, encode_mark_1, encode_cons_2, encode_recip_1, encode_sqr_1, encode_s_1, encode_0, encode_add_2, encode_dbl_1, encode_first_2, encode_nil, encode_half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1 ---------------------------------------- (43) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_active(z0) -> active(encArg(z0)) encode_terms(z0) -> terms(encArg(z0)) encode_mark(z0) -> mark(encArg(z0)) encode_cons(z0, z1) -> cons(encArg(z0), encArg(z1)) encode_recip(z0) -> recip(encArg(z0)) encode_sqr(z0) -> sqr(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_0 -> 0 encode_add(z0, z1) -> add(encArg(z0), encArg(z1)) encode_dbl(z0) -> dbl(encArg(z0)) encode_first(z0, z1) -> first(encArg(z0), encArg(z1)) encode_nil -> nil encode_half(z0) -> half(encArg(z0)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_active(z0)) -> c2(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1 ---------------------------------------- (45) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(z0)) -> c2(ACTIVE(encArg(z0)), ENCARG(z0)) by ENCARG(cons_active(0)) -> c2(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(nil)) -> c2(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(0)) -> c2(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(nil)) -> c2(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2 ---------------------------------------- (47) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_active(0)) -> c2(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(nil)) -> c2(ACTIVE(nil), ENCARG(nil)) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(z0)) -> c3(MARK(encArg(z0)), ENCARG(z0)) by ENCARG(cons_mark(0)) -> c3(MARK(0), ENCARG(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil), ENCARG(nil)) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0), ENCARG(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil), ENCARG(nil)) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2 ---------------------------------------- (51) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1 ---------------------------------------- (53) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_terms(z0)) -> c4(TERMS(encArg(z0)), ENCARG(z0)) by ENCARG(cons_terms(0)) -> c4(TERMS(0), ENCARG(0)) ENCARG(cons_terms(nil)) -> c4(TERMS(nil), ENCARG(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(0)) -> c4(TERMS(0), ENCARG(0)) ENCARG(cons_terms(nil)) -> c4(TERMS(nil), ENCARG(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2 ---------------------------------------- (55) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_terms(nil)) -> c4(TERMS(nil), ENCARG(nil)) ENCARG(cons_terms(0)) -> c4(TERMS(0), ENCARG(0)) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_cons(z0, z1)) -> c5(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3 ---------------------------------------- (59) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_recip(z0)) -> c6(RECIP(encArg(z0)), ENCARG(z0)) by ENCARG(cons_recip(0)) -> c6(RECIP(0), ENCARG(0)) ENCARG(cons_recip(nil)) -> c6(RECIP(nil), ENCARG(nil)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(0)) -> c6(RECIP(0), ENCARG(0)) ENCARG(cons_recip(nil)) -> c6(RECIP(nil), ENCARG(nil)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2 ---------------------------------------- (63) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_recip(0)) -> c6(RECIP(0), ENCARG(0)) ENCARG(cons_recip(nil)) -> c6(RECIP(nil), ENCARG(nil)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c7_2, c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2 ---------------------------------------- (65) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_sqr(z0)) -> c7(SQR(encArg(z0)), ENCARG(z0)) by ENCARG(cons_sqr(0)) -> c7(SQR(0), ENCARG(0)) ENCARG(cons_sqr(nil)) -> c7(SQR(nil), ENCARG(nil)) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(0)) -> c7(SQR(0), ENCARG(0)) ENCARG(cons_sqr(nil)) -> c7(SQR(nil), ENCARG(nil)) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2 ---------------------------------------- (67) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_sqr(0)) -> c7(SQR(0), ENCARG(0)) ENCARG(cons_sqr(nil)) -> c7(SQR(nil), ENCARG(nil)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c8_2, c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2 ---------------------------------------- (69) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(z0)) -> c8(S(encArg(z0)), ENCARG(z0)) by ENCARG(cons_s(0)) -> c8(S(0), ENCARG(0)) ENCARG(cons_s(nil)) -> c8(S(nil), ENCARG(nil)) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(0)) -> c8(S(0), ENCARG(0)) ENCARG(cons_s(nil)) -> c8(S(nil), ENCARG(nil)) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2 ---------------------------------------- (71) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_s(0)) -> c8(S(0), ENCARG(0)) ENCARG(cons_s(nil)) -> c8(S(nil), ENCARG(nil)) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c9_3, c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2 ---------------------------------------- (73) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_add(z0, z1)) -> c9(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3 ---------------------------------------- (75) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c10_2, c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2 ---------------------------------------- (77) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_dbl(z0)) -> c10(DBL(encArg(z0)), ENCARG(z0)) by ENCARG(cons_dbl(0)) -> c10(DBL(0), ENCARG(0)) ENCARG(cons_dbl(nil)) -> c10(DBL(nil), ENCARG(nil)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(0)) -> c10(DBL(0), ENCARG(0)) ENCARG(cons_dbl(nil)) -> c10(DBL(nil), ENCARG(nil)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2 ---------------------------------------- (79) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_dbl(nil)) -> c10(DBL(nil), ENCARG(nil)) ENCARG(cons_dbl(0)) -> c10(DBL(0), ENCARG(0)) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c11_3, c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0), ENCARG(nil)) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(nil), ENCARG(x1)) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3 ---------------------------------------- (83) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c12_2, c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_half(z0)) -> c12(HALF(encArg(z0)), ENCARG(z0)) by ENCARG(cons_half(0)) -> c12(HALF(0), ENCARG(0)) ENCARG(cons_half(nil)) -> c12(HALF(nil), ENCARG(nil)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(0)) -> c12(HALF(0), ENCARG(0)) ENCARG(cons_half(nil)) -> c12(HALF(nil), ENCARG(nil)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2 ---------------------------------------- (87) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_half(0)) -> c12(HALF(0), ENCARG(0)) ENCARG(cons_half(nil)) -> c12(HALF(nil), ENCARG(nil)) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c39_3, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(terms(z0)) -> c39(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) by MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c40_3, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3 ---------------------------------------- (91) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(cons(z0, z1)) -> c40(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) by MARK(cons(z0, z1)) -> c40(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(z0, z1)) -> c40(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1 ---------------------------------------- (93) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c41_3, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(recip(z0)) -> c41(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) by MARK(recip(z0)) -> c41(ACTIVE(recip(z0)), RECIP(mark(z0)), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(z0)), RECIP(mark(z0)), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c41(ACTIVE(recip(z0)), RECIP(mark(z0)), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c42_3, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(sqr(z0)) -> c42(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) by MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c43_3, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3 ---------------------------------------- (101) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(s(z0)) -> c43(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) by MARK(s(z0)) -> c43(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3 ---------------------------------------- (103) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c45_4, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(add(z0, z1)) -> c45(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c46_3, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(dbl(z0)) -> c46(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) by MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c47_4, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3 ---------------------------------------- (109) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(first(z0, z1)) -> c47(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_1, c49_3, 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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(half(z0)) -> c49(ACTIVE(half(mark(z0))), HALF(mark(z0)), MARK(z0)) by MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) by 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_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) 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_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (115) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (117) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_TERMS(z0) -> c(TERMS(encArg(z0))) by ENCODE_TERMS(0) -> c(TERMS(0)) ENCODE_TERMS(nil) -> c(TERMS(nil)) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(0) -> c(TERMS(0)) ENCODE_TERMS(nil) -> c(TERMS(nil)) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (119) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_TERMS(0) -> c(TERMS(0)) ENCODE_TERMS(nil) -> c(TERMS(nil)) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (121) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_MARK(z0) -> c(MARK(encArg(z0))) by 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_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) 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_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (123) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 2 leading nodes: ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(nil) -> c(MARK(nil)) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (125) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_CONS(z0, z1) -> c(CONS(encArg(z0), encArg(z1))) by 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_RECIP(z0) -> c(RECIP(encArg(z0))) by ENCODE_RECIP(0) -> c(RECIP(0)) ENCODE_RECIP(nil) -> c(RECIP(nil)) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(0) -> c(RECIP(0)) ENCODE_RECIP(nil) -> c(RECIP(nil)) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (129) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_RECIP(nil) -> c(RECIP(nil)) ENCODE_RECIP(0) -> c(RECIP(0)) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_SQR(z0) -> c(SQR(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_SQR(z0) -> c(SQR(encArg(z0))) by ENCODE_SQR(0) -> c(SQR(0)) ENCODE_SQR(nil) -> c(SQR(nil)) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(0) -> c(SQR(0)) ENCODE_SQR(nil) -> c(SQR(nil)) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (133) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_SQR(0) -> c(SQR(0)) ENCODE_SQR(nil) -> c(SQR(nil)) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_S(z0) -> c(S(encArg(z0))) by 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_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) 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_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (137) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_S(nil) -> c(S(nil)) ENCODE_S(0) -> c(S(0)) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_ADD(z0, z1) -> c(ADD(encArg(z0), encArg(z1))) by 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (141) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_DBL(z0) -> c(DBL(encArg(z0))) by ENCODE_DBL(0) -> c(DBL(0)) ENCODE_DBL(nil) -> c(DBL(nil)) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(0) -> c(DBL(0)) ENCODE_DBL(nil) -> c(DBL(nil)) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (143) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_DBL(nil) -> c(DBL(nil)) ENCODE_DBL(0) -> c(DBL(0)) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_FIRST_2, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (145) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) by 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCODE_HALF(z0) -> c(HALF(encArg(z0))) ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCODE_HALF_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_HALF(z0) -> c(HALF(encArg(z0))) by ENCODE_HALF(0) -> c(HALF(0)) ENCODE_HALF(nil) -> c(HALF(nil)) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(0) -> c(HALF(0)) ENCODE_HALF(nil) -> c(HALF(nil)) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1 ---------------------------------------- (149) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_HALF(0) -> c(HALF(0)) ENCODE_HALF(nil) -> c(HALF(nil)) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1 ---------------------------------------- (151) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_active(z0))) -> c2(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) by ENCARG(cons_active(cons_active(0))) -> c2(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(nil))) -> c2(ACTIVE(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ENCARG(cons_active(cons_active(0))) -> c2(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(nil))) -> c2(ACTIVE(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1 ---------------------------------------- (153) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_active(cons_active(nil))) -> c2(ACTIVE(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_active(cons_active(0))) -> c2(ACTIVE(active(0)), ENCARG(cons_active(0))) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1 ---------------------------------------- (155) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_mark(z0))) -> c2(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) by ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil)), ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c2(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c2(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_terms(z0)))) -> c2(ACTIVE(mark(terms(encArg(z0)))), ENCARG(cons_mark(cons_terms(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c2(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_recip(z0)))) -> c2(ACTIVE(mark(recip(encArg(z0)))), ENCARG(cons_mark(cons_recip(z0)))) ENCARG(cons_active(cons_mark(cons_sqr(z0)))) -> c2(ACTIVE(mark(sqr(encArg(z0)))), ENCARG(cons_mark(cons_sqr(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c2(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c2(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) ENCARG(cons_active(cons_mark(cons_dbl(z0)))) -> c2(ACTIVE(mark(dbl(encArg(z0)))), ENCARG(cons_mark(cons_dbl(z0)))) ENCARG(cons_active(cons_mark(cons_first(z0, z1)))) -> c2(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) ENCARG(cons_active(cons_mark(cons_half(z0)))) -> c2(ACTIVE(mark(half(encArg(z0)))), ENCARG(cons_mark(cons_half(z0)))) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) ENCARG(cons_active(cons_mark(0))) -> c2(ACTIVE(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(nil))) -> c2(ACTIVE(mark(nil)), ENCARG(cons_mark(nil))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c2(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c2(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_terms(z0)))) -> c2(ACTIVE(mark(terms(encArg(z0)))), ENCARG(cons_mark(cons_terms(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c2(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_recip(z0)))) -> c2(ACTIVE(mark(recip(encArg(z0)))), ENCARG(cons_mark(cons_recip(z0)))) ENCARG(cons_active(cons_mark(cons_sqr(z0)))) -> c2(ACTIVE(mark(sqr(encArg(z0)))), ENCARG(cons_mark(cons_sqr(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c2(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c2(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) ENCARG(cons_active(cons_mark(cons_dbl(z0)))) -> c2(ACTIVE(mark(dbl(encArg(z0)))), ENCARG(cons_mark(cons_dbl(z0)))) ENCARG(cons_active(cons_mark(cons_first(z0, z1)))) -> c2(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) ENCARG(cons_active(cons_mark(cons_half(z0)))) -> c2(ACTIVE(mark(half(encArg(z0)))), ENCARG(cons_mark(cons_half(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1 ---------------------------------------- (157) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c2(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c2(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_terms(z0)))) -> c2(ACTIVE(mark(terms(encArg(z0)))), ENCARG(cons_mark(cons_terms(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c2(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_recip(z0)))) -> c2(ACTIVE(mark(recip(encArg(z0)))), ENCARG(cons_mark(cons_recip(z0)))) ENCARG(cons_active(cons_mark(cons_sqr(z0)))) -> c2(ACTIVE(mark(sqr(encArg(z0)))), ENCARG(cons_mark(cons_sqr(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c2(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c2(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) ENCARG(cons_active(cons_mark(cons_dbl(z0)))) -> c2(ACTIVE(mark(dbl(encArg(z0)))), ENCARG(cons_mark(cons_dbl(z0)))) ENCARG(cons_active(cons_mark(cons_first(z0, z1)))) -> c2(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) ENCARG(cons_active(cons_mark(cons_half(z0)))) -> c2(ACTIVE(mark(half(encArg(z0)))), ENCARG(cons_mark(cons_half(z0)))) 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(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1, c1_1 ---------------------------------------- (159) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_cons(z0, z1))) -> c2(ACTIVE(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) by ENCARG(cons_active(cons_cons(x0, 0))) -> c2(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, nil))) -> c2(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c2(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c2(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_terms(z0)))) -> c2(ACTIVE(cons(encArg(x0), terms(encArg(z0)))), ENCARG(cons_cons(x0, cons_terms(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_recip(z0)))) -> c2(ACTIVE(cons(encArg(x0), recip(encArg(z0)))), ENCARG(cons_cons(x0, cons_recip(z0)))) ENCARG(cons_active(cons_cons(x0, cons_sqr(z0)))) -> c2(ACTIVE(cons(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_cons(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c2(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_dbl(z0)))) -> c2(ACTIVE(cons(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_cons(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_cons(x0, cons_first(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_half(z0)))) -> c2(ACTIVE(cons(encArg(x0), half(encArg(z0)))), ENCARG(cons_cons(x0, cons_half(z0)))) ENCARG(cons_active(cons_cons(0, x1))) -> c2(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c2(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c2(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c2(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_terms(z0), x1))) -> c2(ACTIVE(cons(terms(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_terms(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c2(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_recip(z0), x1))) -> c2(ACTIVE(cons(recip(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_recip(z0), x1))) ENCARG(cons_active(cons_cons(cons_sqr(z0), x1))) -> c2(ACTIVE(cons(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_sqr(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c2(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c2(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_dbl(z0), x1))) -> c2(ACTIVE(cons(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_dbl(z0), x1))) ENCARG(cons_active(cons_cons(cons_first(z0, z1), x1))) -> c2(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_half(z0), x1))) -> c2(ACTIVE(cons(half(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_half(z0), x1))) ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c2(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c2(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_terms(z0)))) -> c2(ACTIVE(mark(terms(encArg(z0)))), ENCARG(cons_mark(cons_terms(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c2(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_recip(z0)))) -> c2(ACTIVE(mark(recip(encArg(z0)))), ENCARG(cons_mark(cons_recip(z0)))) ENCARG(cons_active(cons_mark(cons_sqr(z0)))) -> c2(ACTIVE(mark(sqr(encArg(z0)))), ENCARG(cons_mark(cons_sqr(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c2(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c2(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) ENCARG(cons_active(cons_mark(cons_dbl(z0)))) -> c2(ACTIVE(mark(dbl(encArg(z0)))), ENCARG(cons_mark(cons_dbl(z0)))) ENCARG(cons_active(cons_mark(cons_first(z0, z1)))) -> c2(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) ENCARG(cons_active(cons_mark(cons_half(z0)))) -> c2(ACTIVE(mark(half(encArg(z0)))), ENCARG(cons_mark(cons_half(z0)))) 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_cons(x0, 0))) -> c2(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, nil))) -> c2(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c2(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c2(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_terms(z0)))) -> c2(ACTIVE(cons(encArg(x0), terms(encArg(z0)))), ENCARG(cons_cons(x0, cons_terms(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_recip(z0)))) -> c2(ACTIVE(cons(encArg(x0), recip(encArg(z0)))), ENCARG(cons_cons(x0, cons_recip(z0)))) ENCARG(cons_active(cons_cons(x0, cons_sqr(z0)))) -> c2(ACTIVE(cons(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_cons(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c2(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_dbl(z0)))) -> c2(ACTIVE(cons(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_cons(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_cons(x0, cons_first(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_half(z0)))) -> c2(ACTIVE(cons(encArg(x0), half(encArg(z0)))), ENCARG(cons_cons(x0, cons_half(z0)))) ENCARG(cons_active(cons_cons(0, x1))) -> c2(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c2(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c2(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c2(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_terms(z0), x1))) -> c2(ACTIVE(cons(terms(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_terms(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c2(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_recip(z0), x1))) -> c2(ACTIVE(cons(recip(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_recip(z0), x1))) ENCARG(cons_active(cons_cons(cons_sqr(z0), x1))) -> c2(ACTIVE(cons(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_sqr(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c2(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c2(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_dbl(z0), x1))) -> c2(ACTIVE(cons(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_dbl(z0), x1))) ENCARG(cons_active(cons_cons(cons_first(z0, z1), x1))) -> c2(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_half(z0), x1))) -> c2(ACTIVE(cons(half(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_half(z0), x1))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1, c1_1 ---------------------------------------- (161) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_recip(z0))) -> c2(ACTIVE(recip(encArg(z0))), ENCARG(cons_recip(z0))) by ENCARG(cons_active(cons_recip(0))) -> c2(ACTIVE(recip(0)), ENCARG(cons_recip(0))) ENCARG(cons_active(cons_recip(nil))) -> c2(ACTIVE(recip(nil)), ENCARG(cons_recip(nil))) ENCARG(cons_active(cons_recip(cons_active(z0)))) -> c2(ACTIVE(recip(active(encArg(z0)))), ENCARG(cons_recip(cons_active(z0)))) ENCARG(cons_active(cons_recip(cons_mark(z0)))) -> c2(ACTIVE(recip(mark(encArg(z0)))), ENCARG(cons_recip(cons_mark(z0)))) ENCARG(cons_active(cons_recip(cons_terms(z0)))) -> c2(ACTIVE(recip(terms(encArg(z0)))), ENCARG(cons_recip(cons_terms(z0)))) ENCARG(cons_active(cons_recip(cons_cons(z0, z1)))) -> c2(ACTIVE(recip(cons(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_cons(z0, z1)))) ENCARG(cons_active(cons_recip(cons_recip(z0)))) -> c2(ACTIVE(recip(recip(encArg(z0)))), ENCARG(cons_recip(cons_recip(z0)))) ENCARG(cons_active(cons_recip(cons_sqr(z0)))) -> c2(ACTIVE(recip(sqr(encArg(z0)))), ENCARG(cons_recip(cons_sqr(z0)))) ENCARG(cons_active(cons_recip(cons_s(z0)))) -> c2(ACTIVE(recip(s(encArg(z0)))), ENCARG(cons_recip(cons_s(z0)))) ENCARG(cons_active(cons_recip(cons_add(z0, z1)))) -> c2(ACTIVE(recip(add(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_add(z0, z1)))) ENCARG(cons_active(cons_recip(cons_dbl(z0)))) -> c2(ACTIVE(recip(dbl(encArg(z0)))), ENCARG(cons_recip(cons_dbl(z0)))) ENCARG(cons_active(cons_recip(cons_first(z0, z1)))) -> c2(ACTIVE(recip(first(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_first(z0, z1)))) ENCARG(cons_active(cons_recip(cons_half(z0)))) -> c2(ACTIVE(recip(half(encArg(z0)))), ENCARG(cons_recip(cons_half(z0)))) ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c2(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c2(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_terms(z0)))) -> c2(ACTIVE(mark(terms(encArg(z0)))), ENCARG(cons_mark(cons_terms(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c2(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_recip(z0)))) -> c2(ACTIVE(mark(recip(encArg(z0)))), ENCARG(cons_mark(cons_recip(z0)))) ENCARG(cons_active(cons_mark(cons_sqr(z0)))) -> c2(ACTIVE(mark(sqr(encArg(z0)))), ENCARG(cons_mark(cons_sqr(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c2(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c2(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) ENCARG(cons_active(cons_mark(cons_dbl(z0)))) -> c2(ACTIVE(mark(dbl(encArg(z0)))), ENCARG(cons_mark(cons_dbl(z0)))) ENCARG(cons_active(cons_mark(cons_first(z0, z1)))) -> c2(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) ENCARG(cons_active(cons_mark(cons_half(z0)))) -> c2(ACTIVE(mark(half(encArg(z0)))), ENCARG(cons_mark(cons_half(z0)))) 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_cons(x0, 0))) -> c2(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, nil))) -> c2(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c2(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c2(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_terms(z0)))) -> c2(ACTIVE(cons(encArg(x0), terms(encArg(z0)))), ENCARG(cons_cons(x0, cons_terms(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_recip(z0)))) -> c2(ACTIVE(cons(encArg(x0), recip(encArg(z0)))), ENCARG(cons_cons(x0, cons_recip(z0)))) ENCARG(cons_active(cons_cons(x0, cons_sqr(z0)))) -> c2(ACTIVE(cons(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_cons(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c2(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_dbl(z0)))) -> c2(ACTIVE(cons(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_cons(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_cons(x0, cons_first(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_half(z0)))) -> c2(ACTIVE(cons(encArg(x0), half(encArg(z0)))), ENCARG(cons_cons(x0, cons_half(z0)))) ENCARG(cons_active(cons_cons(0, x1))) -> c2(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c2(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c2(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c2(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_terms(z0), x1))) -> c2(ACTIVE(cons(terms(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_terms(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c2(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_recip(z0), x1))) -> c2(ACTIVE(cons(recip(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_recip(z0), x1))) ENCARG(cons_active(cons_cons(cons_sqr(z0), x1))) -> c2(ACTIVE(cons(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_sqr(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c2(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c2(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_dbl(z0), x1))) -> c2(ACTIVE(cons(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_dbl(z0), x1))) ENCARG(cons_active(cons_cons(cons_first(z0, z1), x1))) -> c2(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_half(z0), x1))) -> c2(ACTIVE(cons(half(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_half(z0), x1))) ENCARG(cons_active(cons_recip(0))) -> c2(ACTIVE(recip(0)), ENCARG(cons_recip(0))) ENCARG(cons_active(cons_recip(nil))) -> c2(ACTIVE(recip(nil)), ENCARG(cons_recip(nil))) ENCARG(cons_active(cons_recip(cons_active(z0)))) -> c2(ACTIVE(recip(active(encArg(z0)))), ENCARG(cons_recip(cons_active(z0)))) ENCARG(cons_active(cons_recip(cons_mark(z0)))) -> c2(ACTIVE(recip(mark(encArg(z0)))), ENCARG(cons_recip(cons_mark(z0)))) ENCARG(cons_active(cons_recip(cons_terms(z0)))) -> c2(ACTIVE(recip(terms(encArg(z0)))), ENCARG(cons_recip(cons_terms(z0)))) ENCARG(cons_active(cons_recip(cons_cons(z0, z1)))) -> c2(ACTIVE(recip(cons(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_cons(z0, z1)))) ENCARG(cons_active(cons_recip(cons_recip(z0)))) -> c2(ACTIVE(recip(recip(encArg(z0)))), ENCARG(cons_recip(cons_recip(z0)))) ENCARG(cons_active(cons_recip(cons_sqr(z0)))) -> c2(ACTIVE(recip(sqr(encArg(z0)))), ENCARG(cons_recip(cons_sqr(z0)))) ENCARG(cons_active(cons_recip(cons_s(z0)))) -> c2(ACTIVE(recip(s(encArg(z0)))), ENCARG(cons_recip(cons_s(z0)))) ENCARG(cons_active(cons_recip(cons_add(z0, z1)))) -> c2(ACTIVE(recip(add(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_add(z0, z1)))) ENCARG(cons_active(cons_recip(cons_dbl(z0)))) -> c2(ACTIVE(recip(dbl(encArg(z0)))), ENCARG(cons_recip(cons_dbl(z0)))) ENCARG(cons_active(cons_recip(cons_first(z0, z1)))) -> c2(ACTIVE(recip(first(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_first(z0, z1)))) ENCARG(cons_active(cons_recip(cons_half(z0)))) -> c2(ACTIVE(recip(half(encArg(z0)))), ENCARG(cons_recip(cons_half(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1, c1_1 ---------------------------------------- (163) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_active(cons_recip(0))) -> c2(ACTIVE(recip(0)), ENCARG(cons_recip(0))) ENCARG(cons_active(cons_recip(nil))) -> c2(ACTIVE(recip(nil)), ENCARG(cons_recip(nil))) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(nil) -> nil encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_terms(z0)) -> terms(encArg(z0)) encArg(cons_cons(z0, z1)) -> cons(encArg(z0), encArg(z1)) encArg(cons_recip(z0)) -> recip(encArg(z0)) encArg(cons_sqr(z0)) -> sqr(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_add(z0, z1)) -> add(encArg(z0), encArg(z1)) encArg(cons_dbl(z0)) -> dbl(encArg(z0)) encArg(cons_first(z0, z1)) -> first(encArg(z0), encArg(z1)) encArg(cons_half(z0)) -> half(encArg(z0)) active(terms(z0)) -> mark(cons(recip(sqr(z0)), terms(s(z0)))) active(sqr(0)) -> mark(0) active(sqr(s(z0))) -> mark(s(add(sqr(z0), dbl(z0)))) active(dbl(0)) -> mark(0) active(dbl(s(z0))) -> mark(s(s(dbl(z0)))) 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(half(0)) -> mark(0) active(half(s(0))) -> mark(0) active(half(s(s(z0)))) -> mark(s(half(z0))) active(half(dbl(z0))) -> mark(z0) mark(terms(z0)) -> active(terms(mark(z0))) mark(cons(z0, z1)) -> active(cons(mark(z0), z1)) mark(recip(z0)) -> active(recip(mark(z0))) mark(sqr(z0)) -> active(sqr(mark(z0))) mark(s(z0)) -> active(s(mark(z0))) mark(0) -> active(0) mark(add(z0, z1)) -> active(add(mark(z0), mark(z1))) mark(dbl(z0)) -> active(dbl(mark(z0))) mark(first(z0, z1)) -> active(first(mark(z0), mark(z1))) mark(nil) -> active(nil) mark(half(z0)) -> active(half(mark(z0))) terms(mark(z0)) -> terms(z0) terms(active(z0)) -> terms(z0) cons(mark(z0), z1) -> cons(z0, z1) cons(z0, mark(z1)) -> cons(z0, z1) cons(active(z0), z1) -> cons(z0, z1) cons(z0, active(z1)) -> cons(z0, z1) recip(mark(z0)) -> recip(z0) recip(active(z0)) -> recip(z0) sqr(mark(z0)) -> sqr(z0) sqr(active(z0)) -> sqr(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) 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) dbl(mark(z0)) -> dbl(z0) dbl(active(z0)) -> dbl(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) half(mark(z0)) -> half(z0) half(active(z0)) -> half(z0) Tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_active(cons_half(z0))) -> c2(ACTIVE(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c3(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_terms(z0))) -> c3(MARK(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_mark(cons_cons(z0, z1))) -> c3(MARK(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_mark(cons_recip(z0))) -> c3(MARK(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_mark(cons_sqr(z0))) -> c3(MARK(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_mark(cons_s(z0))) -> c3(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_add(z0, z1))) -> c3(MARK(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_mark(cons_dbl(z0))) -> c3(MARK(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_mark(cons_first(z0, z1))) -> c3(MARK(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_mark(cons_half(z0))) -> c3(MARK(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_mark(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) ENCARG(cons_terms(cons_active(z0))) -> c4(TERMS(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_terms(cons_mark(z0))) -> c4(TERMS(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_terms(cons_terms(z0))) -> c4(TERMS(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_terms(cons_cons(z0, z1))) -> c4(TERMS(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_terms(cons_recip(z0))) -> c4(TERMS(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_terms(cons_sqr(z0))) -> c4(TERMS(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_terms(cons_s(z0))) -> c4(TERMS(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_terms(cons_add(z0, z1))) -> c4(TERMS(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_terms(cons_dbl(z0))) -> c4(TERMS(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_terms(cons_first(z0, z1))) -> c4(TERMS(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_terms(cons_half(z0))) -> c4(TERMS(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_cons(x0, cons_active(z0))) -> c5(CONS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_cons(x0, cons_mark(z0))) -> c5(CONS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_cons(x0, cons_terms(z0))) -> c5(CONS(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_cons(x0, cons_cons(z0, z1))) -> c5(CONS(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_cons(x0, cons_recip(z0))) -> c5(CONS(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_cons(x0, cons_sqr(z0))) -> c5(CONS(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_cons(x0, cons_s(z0))) -> c5(CONS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_cons(x0, cons_add(z0, z1))) -> c5(CONS(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_cons(x0, cons_dbl(z0))) -> c5(CONS(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_cons(x0, cons_first(z0, z1))) -> c5(CONS(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_cons(x0, cons_half(z0))) -> c5(CONS(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_cons(cons_active(z0), x1)) -> c5(CONS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_mark(z0), x1)) -> c5(CONS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_terms(z0), x1)) -> c5(CONS(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_cons(z0, z1), x1)) -> c5(CONS(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_recip(z0), x1)) -> c5(CONS(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_sqr(z0), x1)) -> c5(CONS(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_s(z0), x1)) -> c5(CONS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_add(z0, z1), x1)) -> c5(CONS(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_dbl(z0), x1)) -> c5(CONS(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_cons(cons_first(z0, z1), x1)) -> c5(CONS(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_cons(cons_half(z0), x1)) -> c5(CONS(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_cons(x0, 0)) -> c5(CONS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_cons(x0, nil)) -> c5(CONS(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_cons(0, x1)) -> c5(CONS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_cons(nil, x1)) -> c5(CONS(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_recip(cons_active(z0))) -> c6(RECIP(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_recip(cons_mark(z0))) -> c6(RECIP(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_recip(cons_terms(z0))) -> c6(RECIP(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_recip(cons_cons(z0, z1))) -> c6(RECIP(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_recip(cons_recip(z0))) -> c6(RECIP(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_recip(cons_sqr(z0))) -> c6(RECIP(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_recip(cons_s(z0))) -> c6(RECIP(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_recip(cons_add(z0, z1))) -> c6(RECIP(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_recip(cons_dbl(z0))) -> c6(RECIP(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_recip(cons_first(z0, z1))) -> c6(RECIP(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_recip(cons_half(z0))) -> c6(RECIP(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_sqr(cons_active(z0))) -> c7(SQR(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_sqr(cons_mark(z0))) -> c7(SQR(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_sqr(cons_terms(z0))) -> c7(SQR(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_sqr(cons_cons(z0, z1))) -> c7(SQR(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_sqr(cons_recip(z0))) -> c7(SQR(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_sqr(cons_sqr(z0))) -> c7(SQR(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_sqr(cons_s(z0))) -> c7(SQR(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_sqr(cons_add(z0, z1))) -> c7(SQR(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_sqr(cons_dbl(z0))) -> c7(SQR(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_sqr(cons_first(z0, z1))) -> c7(SQR(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_sqr(cons_half(z0))) -> c7(SQR(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_s(cons_active(z0))) -> c8(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c8(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_terms(z0))) -> c8(S(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_s(cons_cons(z0, z1))) -> c8(S(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_s(cons_recip(z0))) -> c8(S(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_s(cons_sqr(z0))) -> c8(S(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_s(cons_s(z0))) -> c8(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_add(z0, z1))) -> c8(S(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_s(cons_dbl(z0))) -> c8(S(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_s(cons_first(z0, z1))) -> c8(S(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_s(cons_half(z0))) -> c8(S(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_add(x0, cons_active(z0))) -> c9(ADD(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_add(x0, cons_mark(z0))) -> c9(ADD(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_add(x0, cons_terms(z0))) -> c9(ADD(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_add(x0, cons_cons(z0, z1))) -> c9(ADD(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_add(x0, cons_recip(z0))) -> c9(ADD(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_add(x0, cons_sqr(z0))) -> c9(ADD(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_add(x0, cons_s(z0))) -> c9(ADD(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_add(x0, cons_add(z0, z1))) -> c9(ADD(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_add(x0, cons_dbl(z0))) -> c9(ADD(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_add(x0, cons_first(z0, z1))) -> c9(ADD(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_add(x0, cons_half(z0))) -> c9(ADD(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_add(cons_active(z0), x1)) -> c9(ADD(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_add(cons_mark(z0), x1)) -> c9(ADD(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_add(cons_terms(z0), x1)) -> c9(ADD(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_add(cons_cons(z0, z1), x1)) -> c9(ADD(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_recip(z0), x1)) -> c9(ADD(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_add(cons_sqr(z0), x1)) -> c9(ADD(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_add(cons_s(z0), x1)) -> c9(ADD(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_add(cons_add(z0, z1), x1)) -> c9(ADD(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_dbl(z0), x1)) -> c9(ADD(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_add(cons_first(z0, z1), x1)) -> c9(ADD(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_add(cons_half(z0), x1)) -> c9(ADD(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_add(x0, 0)) -> c9(ADD(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_add(x0, nil)) -> c9(ADD(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_add(0, x1)) -> c9(ADD(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_add(nil, x1)) -> c9(ADD(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_dbl(cons_active(z0))) -> c10(DBL(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_dbl(cons_mark(z0))) -> c10(DBL(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_dbl(cons_terms(z0))) -> c10(DBL(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_dbl(cons_cons(z0, z1))) -> c10(DBL(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_dbl(cons_recip(z0))) -> c10(DBL(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_dbl(cons_sqr(z0))) -> c10(DBL(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_dbl(cons_s(z0))) -> c10(DBL(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_dbl(cons_add(z0, z1))) -> c10(DBL(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_dbl(cons_dbl(z0))) -> c10(DBL(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_dbl(cons_first(z0, z1))) -> c10(DBL(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_dbl(cons_half(z0))) -> c10(DBL(half(encArg(z0))), ENCARG(cons_half(z0))) ENCARG(cons_first(x0, cons_active(z0))) -> c11(FIRST(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_first(x0, cons_mark(z0))) -> c11(FIRST(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_first(x0, cons_terms(z0))) -> c11(FIRST(encArg(x0), terms(encArg(z0))), ENCARG(x0), ENCARG(cons_terms(z0))) ENCARG(cons_first(x0, cons_cons(z0, z1))) -> c11(FIRST(encArg(x0), cons(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_cons(z0, z1))) ENCARG(cons_first(x0, cons_recip(z0))) -> c11(FIRST(encArg(x0), recip(encArg(z0))), ENCARG(x0), ENCARG(cons_recip(z0))) ENCARG(cons_first(x0, cons_sqr(z0))) -> c11(FIRST(encArg(x0), sqr(encArg(z0))), ENCARG(x0), ENCARG(cons_sqr(z0))) ENCARG(cons_first(x0, cons_s(z0))) -> c11(FIRST(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_first(x0, cons_add(z0, z1))) -> c11(FIRST(encArg(x0), add(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_add(z0, z1))) ENCARG(cons_first(x0, cons_dbl(z0))) -> c11(FIRST(encArg(x0), dbl(encArg(z0))), ENCARG(x0), ENCARG(cons_dbl(z0))) ENCARG(cons_first(x0, cons_first(z0, z1))) -> c11(FIRST(encArg(x0), first(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_first(z0, z1))) ENCARG(cons_first(x0, cons_half(z0))) -> c11(FIRST(encArg(x0), half(encArg(z0))), ENCARG(x0), ENCARG(cons_half(z0))) ENCARG(cons_first(cons_active(z0), x1)) -> c11(FIRST(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_first(cons_mark(z0), x1)) -> c11(FIRST(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_first(cons_terms(z0), x1)) -> c11(FIRST(terms(encArg(z0)), encArg(x1)), ENCARG(cons_terms(z0)), ENCARG(x1)) ENCARG(cons_first(cons_cons(z0, z1), x1)) -> c11(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_cons(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_recip(z0), x1)) -> c11(FIRST(recip(encArg(z0)), encArg(x1)), ENCARG(cons_recip(z0)), ENCARG(x1)) ENCARG(cons_first(cons_sqr(z0), x1)) -> c11(FIRST(sqr(encArg(z0)), encArg(x1)), ENCARG(cons_sqr(z0)), ENCARG(x1)) ENCARG(cons_first(cons_s(z0), x1)) -> c11(FIRST(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_first(cons_add(z0, z1), x1)) -> c11(FIRST(add(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_add(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_dbl(z0), x1)) -> c11(FIRST(dbl(encArg(z0)), encArg(x1)), ENCARG(cons_dbl(z0)), ENCARG(x1)) ENCARG(cons_first(cons_first(z0, z1), x1)) -> c11(FIRST(first(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_first(z0, z1)), ENCARG(x1)) ENCARG(cons_first(cons_half(z0), x1)) -> c11(FIRST(half(encArg(z0)), encArg(x1)), ENCARG(cons_half(z0)), ENCARG(x1)) ENCARG(cons_first(x0, 0)) -> c11(FIRST(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_first(x0, nil)) -> c11(FIRST(encArg(x0), nil), ENCARG(x0)) ENCARG(cons_first(0, x1)) -> c11(FIRST(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_first(nil, x1)) -> c11(FIRST(nil, encArg(x1)), ENCARG(x1)) ENCARG(cons_half(cons_active(z0))) -> c12(HALF(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_half(cons_mark(z0))) -> c12(HALF(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_half(cons_terms(z0))) -> c12(HALF(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_half(cons_cons(z0, z1))) -> c12(HALF(cons(encArg(z0), encArg(z1))), ENCARG(cons_cons(z0, z1))) ENCARG(cons_half(cons_recip(z0))) -> c12(HALF(recip(encArg(z0))), ENCARG(cons_recip(z0))) ENCARG(cons_half(cons_sqr(z0))) -> c12(HALF(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) ENCARG(cons_half(cons_s(z0))) -> c12(HALF(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_half(cons_add(z0, z1))) -> c12(HALF(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) ENCARG(cons_half(cons_dbl(z0))) -> c12(HALF(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) ENCARG(cons_half(cons_first(z0, z1))) -> c12(HALF(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) ENCARG(cons_half(cons_half(z0))) -> c12(HALF(half(encArg(z0))), ENCARG(cons_half(z0))) MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_terms(z0)) -> c(ACTIVE(terms(encArg(z0)))) ENCODE_ACTIVE(cons_cons(z0, z1)) -> c(ACTIVE(cons(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_recip(z0)) -> c(ACTIVE(recip(encArg(z0)))) ENCODE_ACTIVE(cons_sqr(z0)) -> c(ACTIVE(sqr(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_add(z0, z1)) -> c(ACTIVE(add(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_dbl(z0)) -> c(ACTIVE(dbl(encArg(z0)))) ENCODE_ACTIVE(cons_first(z0, z1)) -> c(ACTIVE(first(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_half(z0)) -> c(ACTIVE(half(encArg(z0)))) ENCODE_TERMS(cons_active(z0)) -> c(TERMS(active(encArg(z0)))) ENCODE_TERMS(cons_mark(z0)) -> c(TERMS(mark(encArg(z0)))) ENCODE_TERMS(cons_terms(z0)) -> c(TERMS(terms(encArg(z0)))) ENCODE_TERMS(cons_cons(z0, z1)) -> c(TERMS(cons(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_recip(z0)) -> c(TERMS(recip(encArg(z0)))) ENCODE_TERMS(cons_sqr(z0)) -> c(TERMS(sqr(encArg(z0)))) ENCODE_TERMS(cons_s(z0)) -> c(TERMS(s(encArg(z0)))) ENCODE_TERMS(cons_add(z0, z1)) -> c(TERMS(add(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_dbl(z0)) -> c(TERMS(dbl(encArg(z0)))) ENCODE_TERMS(cons_first(z0, z1)) -> c(TERMS(first(encArg(z0), encArg(z1)))) ENCODE_TERMS(cons_half(z0)) -> c(TERMS(half(encArg(z0)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_terms(z0)) -> c(MARK(terms(encArg(z0)))) ENCODE_MARK(cons_cons(z0, z1)) -> c(MARK(cons(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_recip(z0)) -> c(MARK(recip(encArg(z0)))) ENCODE_MARK(cons_sqr(z0)) -> c(MARK(sqr(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_add(z0, z1)) -> c(MARK(add(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_dbl(z0)) -> c(MARK(dbl(encArg(z0)))) ENCODE_MARK(cons_first(z0, z1)) -> c(MARK(first(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_half(z0)) -> c(MARK(half(encArg(z0)))) 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_terms(z0)) -> c(CONS(encArg(x0), terms(encArg(z0)))) ENCODE_CONS(x0, cons_cons(z0, z1)) -> c(CONS(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_recip(z0)) -> c(CONS(encArg(x0), recip(encArg(z0)))) ENCODE_CONS(x0, cons_sqr(z0)) -> c(CONS(encArg(x0), sqr(encArg(z0)))) ENCODE_CONS(x0, cons_s(z0)) -> c(CONS(encArg(x0), s(encArg(z0)))) ENCODE_CONS(x0, cons_add(z0, z1)) -> c(CONS(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_dbl(z0)) -> c(CONS(encArg(x0), dbl(encArg(z0)))) ENCODE_CONS(x0, cons_first(z0, z1)) -> c(CONS(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_CONS(x0, cons_half(z0)) -> c(CONS(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(CONS(terms(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_cons(z0, z1), x1) -> c(CONS(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_recip(z0), x1) -> c(CONS(recip(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_sqr(z0), x1) -> c(CONS(sqr(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_s(z0), x1) -> c(CONS(s(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_add(z0, z1), x1) -> c(CONS(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_dbl(z0), x1) -> c(CONS(dbl(encArg(z0)), encArg(x1))) ENCODE_CONS(cons_first(z0, z1), x1) -> c(CONS(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_CONS(cons_half(z0), x1) -> c(CONS(half(encArg(z0)), encArg(x1))) ENCODE_RECIP(cons_active(z0)) -> c(RECIP(active(encArg(z0)))) ENCODE_RECIP(cons_mark(z0)) -> c(RECIP(mark(encArg(z0)))) ENCODE_RECIP(cons_terms(z0)) -> c(RECIP(terms(encArg(z0)))) ENCODE_RECIP(cons_cons(z0, z1)) -> c(RECIP(cons(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_recip(z0)) -> c(RECIP(recip(encArg(z0)))) ENCODE_RECIP(cons_sqr(z0)) -> c(RECIP(sqr(encArg(z0)))) ENCODE_RECIP(cons_s(z0)) -> c(RECIP(s(encArg(z0)))) ENCODE_RECIP(cons_add(z0, z1)) -> c(RECIP(add(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_dbl(z0)) -> c(RECIP(dbl(encArg(z0)))) ENCODE_RECIP(cons_first(z0, z1)) -> c(RECIP(first(encArg(z0), encArg(z1)))) ENCODE_RECIP(cons_half(z0)) -> c(RECIP(half(encArg(z0)))) ENCODE_SQR(cons_active(z0)) -> c(SQR(active(encArg(z0)))) ENCODE_SQR(cons_mark(z0)) -> c(SQR(mark(encArg(z0)))) ENCODE_SQR(cons_terms(z0)) -> c(SQR(terms(encArg(z0)))) ENCODE_SQR(cons_cons(z0, z1)) -> c(SQR(cons(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_recip(z0)) -> c(SQR(recip(encArg(z0)))) ENCODE_SQR(cons_sqr(z0)) -> c(SQR(sqr(encArg(z0)))) ENCODE_SQR(cons_s(z0)) -> c(SQR(s(encArg(z0)))) ENCODE_SQR(cons_add(z0, z1)) -> c(SQR(add(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_dbl(z0)) -> c(SQR(dbl(encArg(z0)))) ENCODE_SQR(cons_first(z0, z1)) -> c(SQR(first(encArg(z0), encArg(z1)))) ENCODE_SQR(cons_half(z0)) -> c(SQR(half(encArg(z0)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_terms(z0)) -> c(S(terms(encArg(z0)))) ENCODE_S(cons_cons(z0, z1)) -> c(S(cons(encArg(z0), encArg(z1)))) ENCODE_S(cons_recip(z0)) -> c(S(recip(encArg(z0)))) ENCODE_S(cons_sqr(z0)) -> c(S(sqr(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_add(z0, z1)) -> c(S(add(encArg(z0), encArg(z1)))) ENCODE_S(cons_dbl(z0)) -> c(S(dbl(encArg(z0)))) ENCODE_S(cons_first(z0, z1)) -> c(S(first(encArg(z0), encArg(z1)))) ENCODE_S(cons_half(z0)) -> c(S(half(encArg(z0)))) 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_terms(z0)) -> c(ADD(encArg(x0), terms(encArg(z0)))) ENCODE_ADD(x0, cons_cons(z0, z1)) -> c(ADD(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_recip(z0)) -> c(ADD(encArg(x0), recip(encArg(z0)))) ENCODE_ADD(x0, cons_sqr(z0)) -> c(ADD(encArg(x0), sqr(encArg(z0)))) ENCODE_ADD(x0, cons_s(z0)) -> c(ADD(encArg(x0), s(encArg(z0)))) ENCODE_ADD(x0, cons_add(z0, z1)) -> c(ADD(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_dbl(z0)) -> c(ADD(encArg(x0), dbl(encArg(z0)))) ENCODE_ADD(x0, cons_first(z0, z1)) -> c(ADD(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_ADD(x0, cons_half(z0)) -> c(ADD(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(ADD(terms(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_cons(z0, z1), x1) -> c(ADD(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_recip(z0), x1) -> c(ADD(recip(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_sqr(z0), x1) -> c(ADD(sqr(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_s(z0), x1) -> c(ADD(s(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_add(z0, z1), x1) -> c(ADD(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_dbl(z0), x1) -> c(ADD(dbl(encArg(z0)), encArg(x1))) ENCODE_ADD(cons_first(z0, z1), x1) -> c(ADD(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_ADD(cons_half(z0), x1) -> c(ADD(half(encArg(z0)), encArg(x1))) ENCODE_DBL(cons_active(z0)) -> c(DBL(active(encArg(z0)))) ENCODE_DBL(cons_mark(z0)) -> c(DBL(mark(encArg(z0)))) ENCODE_DBL(cons_terms(z0)) -> c(DBL(terms(encArg(z0)))) ENCODE_DBL(cons_cons(z0, z1)) -> c(DBL(cons(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_recip(z0)) -> c(DBL(recip(encArg(z0)))) ENCODE_DBL(cons_sqr(z0)) -> c(DBL(sqr(encArg(z0)))) ENCODE_DBL(cons_s(z0)) -> c(DBL(s(encArg(z0)))) ENCODE_DBL(cons_add(z0, z1)) -> c(DBL(add(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_dbl(z0)) -> c(DBL(dbl(encArg(z0)))) ENCODE_DBL(cons_first(z0, z1)) -> c(DBL(first(encArg(z0), encArg(z1)))) ENCODE_DBL(cons_half(z0)) -> c(DBL(half(encArg(z0)))) 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_terms(z0)) -> c(FIRST(encArg(x0), terms(encArg(z0)))) ENCODE_FIRST(x0, cons_cons(z0, z1)) -> c(FIRST(encArg(x0), cons(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_recip(z0)) -> c(FIRST(encArg(x0), recip(encArg(z0)))) ENCODE_FIRST(x0, cons_sqr(z0)) -> c(FIRST(encArg(x0), sqr(encArg(z0)))) ENCODE_FIRST(x0, cons_s(z0)) -> c(FIRST(encArg(x0), s(encArg(z0)))) ENCODE_FIRST(x0, cons_add(z0, z1)) -> c(FIRST(encArg(x0), add(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_dbl(z0)) -> c(FIRST(encArg(x0), dbl(encArg(z0)))) ENCODE_FIRST(x0, cons_first(z0, z1)) -> c(FIRST(encArg(x0), first(encArg(z0), encArg(z1)))) ENCODE_FIRST(x0, cons_half(z0)) -> c(FIRST(encArg(x0), half(encArg(z0)))) 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_terms(z0), x1) -> c(FIRST(terms(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_cons(z0, z1), x1) -> c(FIRST(cons(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_recip(z0), x1) -> c(FIRST(recip(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_sqr(z0), x1) -> c(FIRST(sqr(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_s(z0), x1) -> c(FIRST(s(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_add(z0, z1), x1) -> c(FIRST(add(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_dbl(z0), x1) -> c(FIRST(dbl(encArg(z0)), encArg(x1))) ENCODE_FIRST(cons_first(z0, z1), x1) -> c(FIRST(first(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_FIRST(cons_half(z0), x1) -> c(FIRST(half(encArg(z0)), encArg(x1))) ENCODE_HALF(cons_active(z0)) -> c(HALF(active(encArg(z0)))) ENCODE_HALF(cons_mark(z0)) -> c(HALF(mark(encArg(z0)))) ENCODE_HALF(cons_terms(z0)) -> c(HALF(terms(encArg(z0)))) ENCODE_HALF(cons_cons(z0, z1)) -> c(HALF(cons(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_recip(z0)) -> c(HALF(recip(encArg(z0)))) ENCODE_HALF(cons_sqr(z0)) -> c(HALF(sqr(encArg(z0)))) ENCODE_HALF(cons_s(z0)) -> c(HALF(s(encArg(z0)))) ENCODE_HALF(cons_add(z0, z1)) -> c(HALF(add(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_dbl(z0)) -> c(HALF(dbl(encArg(z0)))) ENCODE_HALF(cons_first(z0, z1)) -> c(HALF(first(encArg(z0), encArg(z1)))) ENCODE_HALF(cons_half(z0)) -> c(HALF(half(encArg(z0)))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c2(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c2(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_terms(z0)))) -> c2(ACTIVE(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_active(cons_active(cons_cons(z0, z1)))) -> c2(ACTIVE(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_active(cons_active(cons_recip(z0)))) -> c2(ACTIVE(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_active(cons_active(cons_sqr(z0)))) -> c2(ACTIVE(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c2(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_add(z0, z1)))) -> c2(ACTIVE(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_active(cons_active(cons_dbl(z0)))) -> c2(ACTIVE(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_active(cons_active(cons_first(z0, z1)))) -> c2(ACTIVE(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ENCARG(cons_active(cons_active(cons_half(z0)))) -> c2(ACTIVE(active(half(encArg(z0)))), ENCARG(cons_active(cons_half(z0)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c2(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c2(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_terms(z0)))) -> c2(ACTIVE(mark(terms(encArg(z0)))), ENCARG(cons_mark(cons_terms(z0)))) ENCARG(cons_active(cons_mark(cons_cons(z0, z1)))) -> c2(ACTIVE(mark(cons(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_cons(z0, z1)))) ENCARG(cons_active(cons_mark(cons_recip(z0)))) -> c2(ACTIVE(mark(recip(encArg(z0)))), ENCARG(cons_mark(cons_recip(z0)))) ENCARG(cons_active(cons_mark(cons_sqr(z0)))) -> c2(ACTIVE(mark(sqr(encArg(z0)))), ENCARG(cons_mark(cons_sqr(z0)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c2(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_add(z0, z1)))) -> c2(ACTIVE(mark(add(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_add(z0, z1)))) ENCARG(cons_active(cons_mark(cons_dbl(z0)))) -> c2(ACTIVE(mark(dbl(encArg(z0)))), ENCARG(cons_mark(cons_dbl(z0)))) ENCARG(cons_active(cons_mark(cons_first(z0, z1)))) -> c2(ACTIVE(mark(first(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_first(z0, z1)))) ENCARG(cons_active(cons_mark(cons_half(z0)))) -> c2(ACTIVE(mark(half(encArg(z0)))), ENCARG(cons_mark(cons_half(z0)))) 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_cons(x0, 0))) -> c2(ACTIVE(cons(encArg(x0), 0)), ENCARG(cons_cons(x0, 0))) ENCARG(cons_active(cons_cons(x0, nil))) -> c2(ACTIVE(cons(encArg(x0), nil)), ENCARG(cons_cons(x0, nil))) ENCARG(cons_active(cons_cons(x0, cons_active(z0)))) -> c2(ACTIVE(cons(encArg(x0), active(encArg(z0)))), ENCARG(cons_cons(x0, cons_active(z0)))) ENCARG(cons_active(cons_cons(x0, cons_mark(z0)))) -> c2(ACTIVE(cons(encArg(x0), mark(encArg(z0)))), ENCARG(cons_cons(x0, cons_mark(z0)))) ENCARG(cons_active(cons_cons(x0, cons_terms(z0)))) -> c2(ACTIVE(cons(encArg(x0), terms(encArg(z0)))), ENCARG(cons_cons(x0, cons_terms(z0)))) ENCARG(cons_active(cons_cons(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_recip(z0)))) -> c2(ACTIVE(cons(encArg(x0), recip(encArg(z0)))), ENCARG(cons_cons(x0, cons_recip(z0)))) ENCARG(cons_active(cons_cons(x0, cons_sqr(z0)))) -> c2(ACTIVE(cons(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_cons(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_cons(x0, cons_s(z0)))) -> c2(ACTIVE(cons(encArg(x0), s(encArg(z0)))), ENCARG(cons_cons(x0, cons_s(z0)))) ENCARG(cons_active(cons_cons(x0, cons_add(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_dbl(z0)))) -> c2(ACTIVE(cons(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_cons(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_cons(x0, cons_first(z0, z1)))) -> c2(ACTIVE(cons(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_cons(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_cons(x0, cons_half(z0)))) -> c2(ACTIVE(cons(encArg(x0), half(encArg(z0)))), ENCARG(cons_cons(x0, cons_half(z0)))) ENCARG(cons_active(cons_cons(0, x1))) -> c2(ACTIVE(cons(0, encArg(x1))), ENCARG(cons_cons(0, x1))) ENCARG(cons_active(cons_cons(nil, x1))) -> c2(ACTIVE(cons(nil, encArg(x1))), ENCARG(cons_cons(nil, x1))) ENCARG(cons_active(cons_cons(cons_active(z0), x1))) -> c2(ACTIVE(cons(active(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_active(z0), x1))) ENCARG(cons_active(cons_cons(cons_mark(z0), x1))) -> c2(ACTIVE(cons(mark(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_mark(z0), x1))) ENCARG(cons_active(cons_cons(cons_terms(z0), x1))) -> c2(ACTIVE(cons(terms(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_terms(z0), x1))) ENCARG(cons_active(cons_cons(cons_cons(z0, z1), x1))) -> c2(ACTIVE(cons(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_recip(z0), x1))) -> c2(ACTIVE(cons(recip(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_recip(z0), x1))) ENCARG(cons_active(cons_cons(cons_sqr(z0), x1))) -> c2(ACTIVE(cons(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_sqr(z0), x1))) ENCARG(cons_active(cons_cons(cons_s(z0), x1))) -> c2(ACTIVE(cons(s(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_s(z0), x1))) ENCARG(cons_active(cons_cons(cons_add(z0, z1), x1))) -> c2(ACTIVE(cons(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_dbl(z0), x1))) -> c2(ACTIVE(cons(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_dbl(z0), x1))) ENCARG(cons_active(cons_cons(cons_first(z0, z1), x1))) -> c2(ACTIVE(cons(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_cons(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_cons(cons_half(z0), x1))) -> c2(ACTIVE(cons(half(encArg(z0)), encArg(x1))), ENCARG(cons_cons(cons_half(z0), x1))) ENCARG(cons_active(cons_recip(cons_active(z0)))) -> c2(ACTIVE(recip(active(encArg(z0)))), ENCARG(cons_recip(cons_active(z0)))) ENCARG(cons_active(cons_recip(cons_mark(z0)))) -> c2(ACTIVE(recip(mark(encArg(z0)))), ENCARG(cons_recip(cons_mark(z0)))) ENCARG(cons_active(cons_recip(cons_terms(z0)))) -> c2(ACTIVE(recip(terms(encArg(z0)))), ENCARG(cons_recip(cons_terms(z0)))) ENCARG(cons_active(cons_recip(cons_cons(z0, z1)))) -> c2(ACTIVE(recip(cons(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_cons(z0, z1)))) ENCARG(cons_active(cons_recip(cons_recip(z0)))) -> c2(ACTIVE(recip(recip(encArg(z0)))), ENCARG(cons_recip(cons_recip(z0)))) ENCARG(cons_active(cons_recip(cons_sqr(z0)))) -> c2(ACTIVE(recip(sqr(encArg(z0)))), ENCARG(cons_recip(cons_sqr(z0)))) ENCARG(cons_active(cons_recip(cons_s(z0)))) -> c2(ACTIVE(recip(s(encArg(z0)))), ENCARG(cons_recip(cons_s(z0)))) ENCARG(cons_active(cons_recip(cons_add(z0, z1)))) -> c2(ACTIVE(recip(add(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_add(z0, z1)))) ENCARG(cons_active(cons_recip(cons_dbl(z0)))) -> c2(ACTIVE(recip(dbl(encArg(z0)))), ENCARG(cons_recip(cons_dbl(z0)))) ENCARG(cons_active(cons_recip(cons_first(z0, z1)))) -> c2(ACTIVE(recip(first(encArg(z0), encArg(z1)))), ENCARG(cons_recip(cons_first(z0, z1)))) ENCARG(cons_active(cons_recip(cons_half(z0)))) -> c2(ACTIVE(recip(half(encArg(z0)))), ENCARG(cons_recip(cons_half(z0)))) S tuples: ACTIVE(sqr(0)) -> c27(MARK(0)) ACTIVE(dbl(0)) -> c29(MARK(0)) ACTIVE(add(0, z0)) -> c31(MARK(z0)) ACTIVE(first(0, z0)) -> c33(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c34(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) ACTIVE(half(0)) -> c35(MARK(0)) ACTIVE(half(s(0))) -> c36(MARK(0)) ACTIVE(half(dbl(z0))) -> c38(MARK(z0)) TERMS(mark(z0)) -> c50(TERMS(z0)) TERMS(active(z0)) -> c51(TERMS(z0)) CONS(mark(z0), z1) -> c52(CONS(z0, z1)) CONS(z0, mark(z1)) -> c53(CONS(z0, z1)) CONS(active(z0), z1) -> c54(CONS(z0, z1)) CONS(z0, active(z1)) -> c55(CONS(z0, z1)) RECIP(mark(z0)) -> c56(RECIP(z0)) RECIP(active(z0)) -> c57(RECIP(z0)) SQR(mark(z0)) -> c58(SQR(z0)) SQR(active(z0)) -> c59(SQR(z0)) S(mark(z0)) -> c60(S(z0)) S(active(z0)) -> c61(S(z0)) ADD(mark(z0), z1) -> c62(ADD(z0, z1)) ADD(z0, mark(z1)) -> c63(ADD(z0, z1)) ADD(active(z0), z1) -> c64(ADD(z0, z1)) ADD(z0, active(z1)) -> c65(ADD(z0, z1)) DBL(mark(z0)) -> c66(DBL(z0)) DBL(active(z0)) -> c67(DBL(z0)) FIRST(mark(z0), z1) -> c68(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c69(FIRST(z0, z1)) FIRST(active(z0), z1) -> c70(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c71(FIRST(z0, z1)) HALF(mark(z0)) -> c72(HALF(z0)) HALF(active(z0)) -> c73(HALF(z0)) ACTIVE(terms(z0)) -> c26(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c28(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c30(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c32(MARK(s(add(z0, z1))), ADD(z0, z1)) ACTIVE(half(s(s(z0)))) -> c37(MARK(s(half(z0))), HALF(z0)) MARK(0) -> c44 MARK(nil) -> c48 MARK(terms(z0)) -> c39(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c39(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c39(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c39(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c39(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c39(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c39(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c39(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c39(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c39(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c39(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(terms(half(z0))) -> c39(ACTIVE(terms(active(half(mark(z0))))), TERMS(mark(half(z0))), MARK(half(z0))) MARK(cons(terms(z0), x1)) -> c40(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c40(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c40(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c40(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c40(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c40(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c40(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c40(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c40(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c40(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(half(z0), x1)) -> c40(ACTIVE(cons(active(half(mark(z0))), x1)), CONS(mark(half(z0)), x1), MARK(half(z0))) MARK(cons(x0, x1)) -> c40(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c40(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c41(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c41(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c41(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c41(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c41(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c41(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c41(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c41(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c41(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c41(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(half(z0))) -> c41(ACTIVE(recip(active(half(mark(z0))))), RECIP(mark(half(z0))), MARK(half(z0))) MARK(recip(z0)) -> c41(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c42(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c42(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c42(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c42(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c42(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c42(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c42(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c42(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c42(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c42(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c42(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(sqr(half(z0))) -> c42(ACTIVE(sqr(active(half(mark(z0))))), SQR(mark(half(z0))), MARK(half(z0))) MARK(s(terms(z0))) -> c43(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c43(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c43(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c43(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c43(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c43(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c43(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c43(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c43(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c43(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(half(z0))) -> c43(ACTIVE(s(active(half(mark(z0))))), S(mark(half(z0))), MARK(half(z0))) MARK(s(z0)) -> c43(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c45(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c45(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c45(ACTIVE(add(mark(x0), active(terms(mark(z0))))), ADD(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(add(x0, cons(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(cons(mark(z0), z1)))), ADD(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(add(x0, recip(z0))) -> c45(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c45(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c45(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c45(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(add(mark(z0), mark(z1))))), ADD(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(add(x0, dbl(z0))) -> c45(ACTIVE(add(mark(x0), active(dbl(mark(z0))))), ADD(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(add(x0, first(z0, z1))) -> c45(ACTIVE(add(mark(x0), active(first(mark(z0), mark(z1))))), ADD(mark(x0), mark(first(z0, z1))), MARK(x0), MARK(first(z0, z1))) MARK(add(x0, nil)) -> c45(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(x0, half(z0))) -> c45(ACTIVE(add(mark(x0), active(half(mark(z0))))), ADD(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(add(terms(z0), x1)) -> c45(ACTIVE(add(active(terms(mark(z0))), mark(x1))), ADD(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(add(cons(z0, z1), x1)) -> c45(ACTIVE(add(active(cons(mark(z0), z1)), mark(x1))), ADD(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(add(recip(z0), x1)) -> c45(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c45(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c45(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c45(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c45(ACTIVE(add(active(add(mark(z0), mark(z1))), mark(x1))), ADD(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(add(dbl(z0), x1)) -> c45(ACTIVE(add(active(dbl(mark(z0))), mark(x1))), ADD(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(add(first(z0, z1), x1)) -> c45(ACTIVE(add(active(first(mark(z0), mark(z1))), mark(x1))), ADD(mark(first(z0, z1)), mark(x1)), MARK(first(z0, z1)), MARK(x1)) MARK(add(nil, x1)) -> c45(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(add(half(z0), x1)) -> c45(ACTIVE(add(active(half(mark(z0))), mark(x1))), ADD(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(dbl(z0)) -> c46(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c46(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c46(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c46(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c46(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c46(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c46(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c46(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c46(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c46(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c46(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(dbl(half(z0))) -> c46(ACTIVE(dbl(active(half(mark(z0))))), DBL(mark(half(z0))), MARK(half(z0))) MARK(first(z0, x1)) -> c47(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c47(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c47(ACTIVE(first(mark(x0), active(terms(mark(z0))))), FIRST(mark(x0), mark(terms(z0))), MARK(x0), MARK(terms(z0))) MARK(first(x0, cons(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(cons(mark(z0), z1)))), FIRST(mark(x0), mark(cons(z0, z1))), MARK(x0), MARK(cons(z0, z1))) MARK(first(x0, recip(z0))) -> c47(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c47(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c47(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c47(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c47(ACTIVE(first(mark(x0), active(add(mark(z0), mark(z1))))), FIRST(mark(x0), mark(add(z0, z1))), MARK(x0), MARK(add(z0, z1))) MARK(first(x0, dbl(z0))) -> c47(ACTIVE(first(mark(x0), active(dbl(mark(z0))))), FIRST(mark(x0), mark(dbl(z0))), MARK(x0), MARK(dbl(z0))) MARK(first(x0, first(z0, z1))) -> c47(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)) -> c47(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(x0, half(z0))) -> c47(ACTIVE(first(mark(x0), active(half(mark(z0))))), FIRST(mark(x0), mark(half(z0))), MARK(x0), MARK(half(z0))) MARK(first(terms(z0), x1)) -> c47(ACTIVE(first(active(terms(mark(z0))), mark(x1))), FIRST(mark(terms(z0)), mark(x1)), MARK(terms(z0)), MARK(x1)) MARK(first(cons(z0, z1), x1)) -> c47(ACTIVE(first(active(cons(mark(z0), z1)), mark(x1))), FIRST(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1)), MARK(x1)) MARK(first(recip(z0), x1)) -> c47(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c47(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c47(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c47(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c47(ACTIVE(first(active(add(mark(z0), mark(z1))), mark(x1))), FIRST(mark(add(z0, z1)), mark(x1)), MARK(add(z0, z1)), MARK(x1)) MARK(first(dbl(z0), x1)) -> c47(ACTIVE(first(active(dbl(mark(z0))), mark(x1))), FIRST(mark(dbl(z0)), mark(x1)), MARK(dbl(z0)), MARK(x1)) MARK(first(first(z0, z1), x1)) -> c47(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)) -> c47(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(first(half(z0), x1)) -> c47(ACTIVE(first(active(half(mark(z0))), mark(x1))), FIRST(mark(half(z0)), mark(x1)), MARK(half(z0)), MARK(x1)) MARK(half(z0)) -> c49(ACTIVE(half(z0)), HALF(mark(z0)), MARK(z0)) MARK(half(terms(z0))) -> c49(ACTIVE(half(active(terms(mark(z0))))), HALF(mark(terms(z0))), MARK(terms(z0))) MARK(half(cons(z0, z1))) -> c49(ACTIVE(half(active(cons(mark(z0), z1)))), HALF(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(half(recip(z0))) -> c49(ACTIVE(half(active(recip(mark(z0))))), HALF(mark(recip(z0))), MARK(recip(z0))) MARK(half(sqr(z0))) -> c49(ACTIVE(half(active(sqr(mark(z0))))), HALF(mark(sqr(z0))), MARK(sqr(z0))) MARK(half(s(z0))) -> c49(ACTIVE(half(active(s(mark(z0))))), HALF(mark(s(z0))), MARK(s(z0))) MARK(half(0)) -> c49(ACTIVE(half(active(0))), HALF(mark(0)), MARK(0)) MARK(half(add(z0, z1))) -> c49(ACTIVE(half(active(add(mark(z0), mark(z1))))), HALF(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(half(dbl(z0))) -> c49(ACTIVE(half(active(dbl(mark(z0))))), HALF(mark(dbl(z0))), MARK(dbl(z0))) MARK(half(first(z0, z1))) -> c49(ACTIVE(half(active(first(mark(z0), mark(z1))))), HALF(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(half(nil)) -> c49(ACTIVE(half(active(nil))), HALF(mark(nil)), MARK(nil)) MARK(half(half(z0))) -> c49(ACTIVE(half(active(half(mark(z0))))), HALF(mark(half(z0))), MARK(half(z0))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, terms_1, cons_2, recip_1, sqr_1, s_1, add_2, dbl_1, first_2, half_1 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, HALF_1, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCODE_HALF_1 Compound Symbols: c27_1, c29_1, c31_1, c33_1, c34_3, c35_1, c36_1, c38_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, c72_1, c73_1, c26_3, c28_3, c30_2, c32_2, c37_2, c44, c48, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2, c10_2, c11_3, c11_2, c12_2, c39_3, c40_3, c40_1, c40_2, c41_3, c41_2, c42_3, c43_3, c43_2, c45_4, c46_3, c47_4, c49_3, c_1, c1_1