/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- KILLED proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(1, INF). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 365 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), 0 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 20.0 s] (12) BOUNDS(1, INF) (13) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 3 ms] (14) TRS for Loop Detection (15) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (16) CpxTRS (17) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (18) CpxRelTRS (19) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxWeightedTrs (21) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxTypedWeightedTrs (23) CompletionProof [UPPER BOUND(ID), 0 ms] (24) CpxTypedWeightedCompleteTrs (25) NarrowingProof [BOTH BOUNDS(ID, ID), 1485 ms] (26) CpxTypedWeightedCompleteTrs (27) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 9 ms] (28) CpxRNTS (29) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CpxRNTS (31) CompletionProof [UPPER BOUND(ID), 0 ms] (32) CpxTypedWeightedCompleteTrs (33) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 7 ms] (34) CpxRNTS (35) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (36) CdtProblem (37) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 7 ms] (42) CdtProblem (43) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (44) CdtProblem (45) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 38 ms] (46) CdtProblem (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (52) CdtProblem (53) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 1 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (56) CdtProblem (57) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 13 ms] (64) CdtProblem (65) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 32 ms] (76) CdtProblem (77) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 27 ms] (80) CdtProblem (81) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 50 ms] (84) CdtProblem (85) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 ms] (90) CdtProblem (91) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 4 ms] (92) CdtProblem (93) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 ms] (94) CdtProblem (95) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 3 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 4 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 44 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 15 ms] (114) CdtProblem (115) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 33 ms] (118) CdtProblem (119) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 8 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 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), 11 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 18 ms] (138) CdtProblem (139) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 27 ms] (144) CdtProblem (145) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 1 ms] (158) CdtProblem (159) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 9 ms] (160) CdtProblem (161) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 1 ms] (162) CdtProblem (163) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 33 ms] (164) CdtProblem (165) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (166) CdtProblem (167) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 24 ms] (168) CdtProblem (169) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 37 ms] (170) CdtProblem (171) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (172) CdtProblem (173) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (174) CdtProblem (175) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 54 ms] (176) CdtProblem (177) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 45 ms] (178) CdtProblem (179) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (180) 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))) 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) 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) 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)) 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 ---------------------------------------- (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))) 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) 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) 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)) 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 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))) 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) 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) 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)) 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 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))) 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) 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) 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)) 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 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))) 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) 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) 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)) 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 Types: active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first 0' :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encArg :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_0 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first hole_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first1_3 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first2_3 :: Nat -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: active, mark, cons, recip, sqr, terms, s, add, dbl, first, 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 active < encArg cons < mark recip < mark sqr < mark terms < mark s < mark add < mark dbl < mark first < mark mark < encArg cons < encArg recip < encArg sqr < encArg terms < encArg s < encArg add < encArg dbl < encArg first < 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))) 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) 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) 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)) 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 Types: active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first 0' :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encArg :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl: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_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_active :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_terms :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_mark :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_cons :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_recip :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_sqr :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_s :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_0 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_add :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_dbl :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_first :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_nil :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first hole_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first1_3 :: 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first2_3 :: Nat -> 0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first Generator Equations: gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first2_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_first2_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_first2_3(x)) The following defined symbols remain to be analysed: cons, active, mark, recip, sqr, terms, s, add, dbl, first, 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 active < encArg cons < mark recip < mark sqr < mark terms < mark s < mark add < mark dbl < mark first < mark mark < encArg cons < encArg recip < encArg sqr < encArg terms < encArg s < encArg add < encArg dbl < encArg first < encArg ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first2_3(+(1, n11153_3))) -> *3_3, rt in Omega(0) Induction Base: encArg(gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first2_3(+(1, 0))) Induction Step: encArg(gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first2_3(+(1, +(n11153_3, 1)))) ->_R^Omega(0) active(encArg(gen_0':nil:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first2_3(+(1, n11153_3)))) ->_IH active(*3_3) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (12) BOUNDS(1, INF) ---------------------------------------- (13) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (14) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(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))) 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) 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) 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)) 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 Rewrite Strategy: INNERMOST ---------------------------------------- (15) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (16) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(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))) 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) 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) 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)) 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 S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (17) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (18) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: mark(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) first(X1, c_mark(X2)) -> first(X1, X2) mark(c_dbl(X)) -> active(dbl(mark(X))) cons(X1, c_active(X2)) -> cons(X1, X2) active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) cons(X1, c_mark(X2)) -> cons(X1, X2) first(X1, c_active(X2)) -> first(X1, X2) 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) 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) mark(c_cons(X1, X2)) -> active(cons(mark(X1), X2)) recip(c_active(X)) -> recip(X) dbl(c_mark(X)) -> dbl(X) 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)) 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 s(x0) -> c_s(x0) sqr(x0) -> c_sqr(x0) active(x0) -> c_active(x0) recip(x0) -> c_recip(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 ---------------------------------------- (19) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (20) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: mark(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] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] 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] 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] 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] 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] 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] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(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 ---------------------------------------- (21) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (22) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: mark(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] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] 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] 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] 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] 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] 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] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first 0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first c_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encArg :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first cons_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_active :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_terms :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_mark :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_cons :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_recip :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_sqr :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_s :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_0 :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_add :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_dbl :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_first :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first -> 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first encode_nil :: 0:nil:c_s:c_sqr:c_active:c_mark:c_add:c_first:c_dbl:c_recip:c_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first Rewrite Strategy: INNERMOST ---------------------------------------- (23) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: encArg_1 encode_active_1 encode_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 s_1 sqr_1 active_1 recip_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] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [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_s, null_sqr, null_active, null_recip, null_add, null_terms, null_dbl, null_cons, null_first, null_mark ---------------------------------------- (24) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: mark(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] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] 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] 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] 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] 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] 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] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(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] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip:null_add:null_terms:null_dbl:null_cons:null_first:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (25) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (26) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: mark(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_dbl(X9))) -> active(s(active(dbl(mark(X9))))) [2] mark(c_s(c_terms(X10))) -> active(s(active(terms(mark(X10))))) [2] mark(c_s(c_cons(X11, X21))) -> active(s(active(cons(mark(X11), X21)))) [2] mark(c_s(c_sqr(X12))) -> active(s(active(sqr(mark(X12))))) [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(X290))) -> active(recip(active(s(mark(X290))))) [2] mark(c_recip(c_add(X1110, X291))) -> active(recip(active(add(mark(X1110), mark(X291))))) [2] mark(c_recip(c_first(X1111, X292))) -> active(recip(active(first(mark(X1111), mark(X292))))) [2] mark(c_recip(c_recip(X293))) -> active(recip(active(recip(mark(X293))))) [2] mark(c_recip(c_dbl(X294))) -> active(recip(active(dbl(mark(X294))))) [2] mark(c_recip(c_terms(X295))) -> active(recip(active(terms(mark(X295))))) [2] mark(c_recip(c_cons(X1112, X296))) -> active(recip(active(cons(mark(X1112), X296)))) [2] mark(c_recip(c_sqr(X297))) -> active(recip(active(sqr(mark(X297))))) [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] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_dbl(0)) -> active(dbl(active(0))) [2] mark(c_dbl(nil)) -> active(dbl(active(nil))) [2] mark(c_dbl(c_s(X298))) -> active(dbl(active(s(mark(X298))))) [2] mark(c_dbl(c_add(X1113, X299))) -> active(dbl(active(add(mark(X1113), mark(X299))))) [2] mark(c_dbl(c_first(X1114, X2100))) -> active(dbl(active(first(mark(X1114), mark(X2100))))) [2] mark(c_dbl(c_recip(X300))) -> active(dbl(active(recip(mark(X300))))) [2] mark(c_dbl(c_dbl(X301))) -> active(dbl(active(dbl(mark(X301))))) [2] mark(c_dbl(c_terms(X302))) -> active(dbl(active(terms(mark(X302))))) [2] mark(c_dbl(c_cons(X1115, X2101))) -> active(dbl(active(cons(mark(X1115), X2101)))) [2] mark(c_dbl(c_sqr(X303))) -> active(dbl(active(sqr(mark(X303))))) [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] active(c_first(c_s(c_active(X1116)), c_cons(Y, Z))) -> mark(cons(Y, first(X1116, Z))) [2] active(c_first(c_s(X), c_cons(Y, c_mark(X2102)))) -> mark(cons(Y, first(X, X2102))) [2] active(c_first(c_s(X), c_cons(Y, c_active(X2103)))) -> mark(cons(Y, first(X, X2103))) [2] active(c_first(c_s(c_mark(X1117)), c_cons(Y, Z))) -> mark(cons(Y, first(X1117, 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(X304))) -> mark(cons(recip(sqr(X304)), terms(s(X304)))) [3] active(c_terms(c_mark(X304))) -> mark(cons(recip(sqr(X304)), terms(c_s(c_mark(X304))))) [2] active(c_terms(c_mark(X304))) -> mark(cons(recip(sqr(X304)), terms(null_s))) [2] active(c_terms(c_active(X305))) -> mark(cons(recip(sqr(X305)), terms(s(X305)))) [3] active(c_terms(c_active(X305))) -> mark(cons(recip(sqr(X305)), terms(c_s(c_active(X305))))) [2] active(c_terms(c_active(X305))) -> mark(cons(recip(sqr(X305)), terms(null_s))) [2] active(c_terms(c_active(X306))) -> mark(cons(recip(c_sqr(c_active(X306))), terms(s(X306)))) [2] active(c_terms(c_mark(X307))) -> mark(cons(recip(c_sqr(c_mark(X307))), terms(s(X307)))) [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(X308))) -> mark(cons(recip(null_sqr), terms(s(X308)))) [2] active(c_terms(c_mark(X309))) -> mark(cons(recip(null_sqr), terms(s(X309)))) [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(X310))) -> active(terms(active(s(mark(X310))))) [2] mark(c_terms(c_add(X1118, X2104))) -> active(terms(active(add(mark(X1118), mark(X2104))))) [2] mark(c_terms(c_first(X1119, X2105))) -> active(terms(active(first(mark(X1119), mark(X2105))))) [2] mark(c_terms(c_recip(X311))) -> active(terms(active(recip(mark(X311))))) [2] mark(c_terms(c_dbl(X312))) -> active(terms(active(dbl(mark(X312))))) [2] mark(c_terms(c_terms(X313))) -> active(terms(active(terms(mark(X313))))) [2] mark(c_terms(c_cons(X1120, X2106))) -> active(terms(active(cons(mark(X1120), X2106)))) [2] mark(c_terms(c_sqr(X314))) -> active(terms(active(sqr(mark(X314))))) [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(X1121)), Y)) -> mark(s(add(X1121, Y))) [2] active(c_add(c_s(X), c_mark(X2107))) -> mark(s(add(X, X2107))) [2] active(c_add(c_s(c_mark(X1122)), Y)) -> mark(s(add(X1122, Y))) [2] active(c_add(c_s(X), c_active(X2108))) -> mark(s(add(X, X2108))) [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] active(c_dbl(c_s(c_mark(X315)))) -> mark(s(s(dbl(X315)))) [2] active(c_dbl(c_s(c_active(X316)))) -> mark(s(s(dbl(X316)))) [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] 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(X317), X2)) -> active(cons(active(s(mark(X317))), X2)) [2] mark(c_cons(c_add(X1123, X2109), X2)) -> active(cons(active(add(mark(X1123), mark(X2109))), X2)) [2] mark(c_cons(c_first(X1124, X2110), X2)) -> active(cons(active(first(mark(X1124), mark(X2110))), X2)) [2] mark(c_cons(c_recip(X318), X2)) -> active(cons(active(recip(mark(X318))), X2)) [2] mark(c_cons(c_dbl(X319), X2)) -> active(cons(active(dbl(mark(X319))), X2)) [2] mark(c_cons(c_terms(X320), X2)) -> active(cons(active(terms(mark(X320))), X2)) [2] mark(c_cons(c_cons(X1125, X2111), X2)) -> active(cons(active(cons(mark(X1125), X2111)), X2)) [2] mark(c_cons(c_sqr(X321), X2)) -> active(cons(active(sqr(mark(X321))), 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] mark(c_sqr(0)) -> active(sqr(active(0))) [2] mark(c_sqr(nil)) -> active(sqr(active(nil))) [2] mark(c_sqr(c_s(X322))) -> active(sqr(active(s(mark(X322))))) [2] mark(c_sqr(c_add(X1126, X2112))) -> active(sqr(active(add(mark(X1126), mark(X2112))))) [2] mark(c_sqr(c_first(X1127, X2113))) -> active(sqr(active(first(mark(X1127), mark(X2113))))) [2] mark(c_sqr(c_recip(X323))) -> active(sqr(active(recip(mark(X323))))) [2] mark(c_sqr(c_dbl(X324))) -> active(sqr(active(dbl(mark(X324))))) [2] mark(c_sqr(c_terms(X325))) -> active(sqr(active(terms(mark(X325))))) [2] mark(c_sqr(c_cons(X1128, X2114))) -> active(sqr(active(cons(mark(X1128), X2114)))) [2] mark(c_sqr(c_sqr(X326))) -> active(sqr(active(sqr(mark(X326))))) [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(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_19))) -> mark(active(encArg(x_19))) [0] encArg(cons_mark(cons_mark(x_110))) -> mark(mark(encArg(x_110))) [0] encArg(cons_mark(cons_terms(x_111))) -> mark(terms(encArg(x_111))) [0] encArg(cons_mark(cons_cons(x_112, x_22))) -> mark(cons(encArg(x_112), encArg(x_22))) [0] encArg(cons_mark(cons_recip(x_113))) -> mark(recip(encArg(x_113))) [0] encArg(cons_mark(cons_sqr(x_114))) -> mark(sqr(encArg(x_114))) [0] encArg(cons_mark(cons_s(x_115))) -> mark(s(encArg(x_115))) [0] encArg(cons_mark(cons_add(x_116, x_23))) -> mark(add(encArg(x_116), encArg(x_23))) [0] encArg(cons_mark(cons_dbl(x_117))) -> mark(dbl(encArg(x_117))) [0] encArg(cons_mark(cons_first(x_118, x_24))) -> mark(first(encArg(x_118), encArg(x_24))) [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_119))) -> terms(active(encArg(x_119))) [0] encArg(cons_terms(cons_mark(x_120))) -> terms(mark(encArg(x_120))) [0] encArg(cons_terms(cons_terms(x_121))) -> terms(terms(encArg(x_121))) [0] encArg(cons_terms(cons_cons(x_122, x_25))) -> terms(cons(encArg(x_122), encArg(x_25))) [0] encArg(cons_terms(cons_recip(x_123))) -> terms(recip(encArg(x_123))) [0] encArg(cons_terms(cons_sqr(x_124))) -> terms(sqr(encArg(x_124))) [0] encArg(cons_terms(cons_s(x_125))) -> terms(s(encArg(x_125))) [0] encArg(cons_terms(cons_add(x_126, x_26))) -> terms(add(encArg(x_126), encArg(x_26))) [0] encArg(cons_terms(cons_dbl(x_127))) -> terms(dbl(encArg(x_127))) [0] encArg(cons_terms(cons_first(x_128, x_27))) -> terms(first(encArg(x_128), encArg(x_27))) [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_1169))) -> recip(active(encArg(x_1169))) [0] encArg(cons_recip(cons_mark(x_1170))) -> recip(mark(encArg(x_1170))) [0] encArg(cons_recip(cons_terms(x_1171))) -> recip(terms(encArg(x_1171))) [0] encArg(cons_recip(cons_cons(x_1172, x_250))) -> recip(cons(encArg(x_1172), encArg(x_250))) [0] encArg(cons_recip(cons_recip(x_1173))) -> recip(recip(encArg(x_1173))) [0] encArg(cons_recip(cons_sqr(x_1174))) -> recip(sqr(encArg(x_1174))) [0] encArg(cons_recip(cons_s(x_1175))) -> recip(s(encArg(x_1175))) [0] encArg(cons_recip(cons_add(x_1176, x_251))) -> recip(add(encArg(x_1176), encArg(x_251))) [0] encArg(cons_recip(cons_dbl(x_1177))) -> recip(dbl(encArg(x_1177))) [0] encArg(cons_recip(cons_first(x_1178, x_252))) -> recip(first(encArg(x_1178), encArg(x_252))) [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_1179))) -> sqr(active(encArg(x_1179))) [0] encArg(cons_sqr(cons_mark(x_1180))) -> sqr(mark(encArg(x_1180))) [0] encArg(cons_sqr(cons_terms(x_1181))) -> sqr(terms(encArg(x_1181))) [0] encArg(cons_sqr(cons_cons(x_1182, x_253))) -> sqr(cons(encArg(x_1182), encArg(x_253))) [0] encArg(cons_sqr(cons_recip(x_1183))) -> sqr(recip(encArg(x_1183))) [0] encArg(cons_sqr(cons_sqr(x_1184))) -> sqr(sqr(encArg(x_1184))) [0] encArg(cons_sqr(cons_s(x_1185))) -> sqr(s(encArg(x_1185))) [0] encArg(cons_sqr(cons_add(x_1186, x_254))) -> sqr(add(encArg(x_1186), encArg(x_254))) [0] encArg(cons_sqr(cons_dbl(x_1187))) -> sqr(dbl(encArg(x_1187))) [0] encArg(cons_sqr(cons_first(x_1188, x_255))) -> sqr(first(encArg(x_1188), encArg(x_255))) [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_1189))) -> s(active(encArg(x_1189))) [0] encArg(cons_s(cons_mark(x_1190))) -> s(mark(encArg(x_1190))) [0] encArg(cons_s(cons_terms(x_1191))) -> s(terms(encArg(x_1191))) [0] encArg(cons_s(cons_cons(x_1192, x_256))) -> s(cons(encArg(x_1192), encArg(x_256))) [0] encArg(cons_s(cons_recip(x_1193))) -> s(recip(encArg(x_1193))) [0] encArg(cons_s(cons_sqr(x_1194))) -> s(sqr(encArg(x_1194))) [0] encArg(cons_s(cons_s(x_1195))) -> s(s(encArg(x_1195))) [0] encArg(cons_s(cons_add(x_1196, x_257))) -> s(add(encArg(x_1196), encArg(x_257))) [0] encArg(cons_s(cons_dbl(x_1197))) -> s(dbl(encArg(x_1197))) [0] encArg(cons_s(cons_first(x_1198, x_258))) -> s(first(encArg(x_1198), encArg(x_258))) [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_1339))) -> dbl(active(encArg(x_1339))) [0] encArg(cons_dbl(cons_mark(x_1340))) -> dbl(mark(encArg(x_1340))) [0] encArg(cons_dbl(cons_terms(x_1341))) -> dbl(terms(encArg(x_1341))) [0] encArg(cons_dbl(cons_cons(x_1342, x_2101))) -> dbl(cons(encArg(x_1342), encArg(x_2101))) [0] encArg(cons_dbl(cons_recip(x_1343))) -> dbl(recip(encArg(x_1343))) [0] encArg(cons_dbl(cons_sqr(x_1344))) -> dbl(sqr(encArg(x_1344))) [0] encArg(cons_dbl(cons_s(x_1345))) -> dbl(s(encArg(x_1345))) [0] encArg(cons_dbl(cons_add(x_1346, x_2102))) -> dbl(add(encArg(x_1346), encArg(x_2102))) [0] encArg(cons_dbl(cons_dbl(x_1347))) -> dbl(dbl(encArg(x_1347))) [0] encArg(cons_dbl(cons_first(x_1348, x_2103))) -> dbl(first(encArg(x_1348), encArg(x_2103))) [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] encode_active(0) -> active(0) [0] encode_active(nil) -> active(nil) [0] encode_active(cons_active(x_1489)) -> active(active(encArg(x_1489))) [0] encode_active(cons_mark(x_1490)) -> active(mark(encArg(x_1490))) [0] encode_active(cons_terms(x_1491)) -> active(terms(encArg(x_1491))) [0] encode_active(cons_cons(x_1492, x_2146)) -> active(cons(encArg(x_1492), encArg(x_2146))) [0] encode_active(cons_recip(x_1493)) -> active(recip(encArg(x_1493))) [0] encode_active(cons_sqr(x_1494)) -> active(sqr(encArg(x_1494))) [0] encode_active(cons_s(x_1495)) -> active(s(encArg(x_1495))) [0] encode_active(cons_add(x_1496, x_2147)) -> active(add(encArg(x_1496), encArg(x_2147))) [0] encode_active(cons_dbl(x_1497)) -> active(dbl(encArg(x_1497))) [0] encode_active(cons_first(x_1498, x_2148)) -> active(first(encArg(x_1498), encArg(x_2148))) [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_1499)) -> terms(active(encArg(x_1499))) [0] encode_terms(cons_mark(x_1500)) -> terms(mark(encArg(x_1500))) [0] encode_terms(cons_terms(x_1501)) -> terms(terms(encArg(x_1501))) [0] encode_terms(cons_cons(x_1502, x_2149)) -> terms(cons(encArg(x_1502), encArg(x_2149))) [0] encode_terms(cons_recip(x_1503)) -> terms(recip(encArg(x_1503))) [0] encode_terms(cons_sqr(x_1504)) -> terms(sqr(encArg(x_1504))) [0] encode_terms(cons_s(x_1505)) -> terms(s(encArg(x_1505))) [0] encode_terms(cons_add(x_1506, x_2150)) -> terms(add(encArg(x_1506), encArg(x_2150))) [0] encode_terms(cons_dbl(x_1507)) -> terms(dbl(encArg(x_1507))) [0] encode_terms(cons_first(x_1508, x_2151)) -> terms(first(encArg(x_1508), encArg(x_2151))) [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_1509)) -> mark(active(encArg(x_1509))) [0] encode_mark(cons_mark(x_1510)) -> mark(mark(encArg(x_1510))) [0] encode_mark(cons_terms(x_1511)) -> mark(terms(encArg(x_1511))) [0] encode_mark(cons_cons(x_1512, x_2152)) -> mark(cons(encArg(x_1512), encArg(x_2152))) [0] encode_mark(cons_recip(x_1513)) -> mark(recip(encArg(x_1513))) [0] encode_mark(cons_sqr(x_1514)) -> mark(sqr(encArg(x_1514))) [0] encode_mark(cons_s(x_1515)) -> mark(s(encArg(x_1515))) [0] encode_mark(cons_add(x_1516, x_2153)) -> mark(add(encArg(x_1516), encArg(x_2153))) [0] encode_mark(cons_dbl(x_1517)) -> mark(dbl(encArg(x_1517))) [0] encode_mark(cons_first(x_1518, x_2154)) -> mark(first(encArg(x_1518), encArg(x_2154))) [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_1659)) -> recip(active(encArg(x_1659))) [0] encode_recip(cons_mark(x_1660)) -> recip(mark(encArg(x_1660))) [0] encode_recip(cons_terms(x_1661)) -> recip(terms(encArg(x_1661))) [0] encode_recip(cons_cons(x_1662, x_2197)) -> recip(cons(encArg(x_1662), encArg(x_2197))) [0] encode_recip(cons_recip(x_1663)) -> recip(recip(encArg(x_1663))) [0] encode_recip(cons_sqr(x_1664)) -> recip(sqr(encArg(x_1664))) [0] encode_recip(cons_s(x_1665)) -> recip(s(encArg(x_1665))) [0] encode_recip(cons_add(x_1666, x_2198)) -> recip(add(encArg(x_1666), encArg(x_2198))) [0] encode_recip(cons_dbl(x_1667)) -> recip(dbl(encArg(x_1667))) [0] encode_recip(cons_first(x_1668, x_2199)) -> recip(first(encArg(x_1668), encArg(x_2199))) [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_1669)) -> sqr(active(encArg(x_1669))) [0] encode_sqr(cons_mark(x_1670)) -> sqr(mark(encArg(x_1670))) [0] encode_sqr(cons_terms(x_1671)) -> sqr(terms(encArg(x_1671))) [0] encode_sqr(cons_cons(x_1672, x_2200)) -> sqr(cons(encArg(x_1672), encArg(x_2200))) [0] encode_sqr(cons_recip(x_1673)) -> sqr(recip(encArg(x_1673))) [0] encode_sqr(cons_sqr(x_1674)) -> sqr(sqr(encArg(x_1674))) [0] encode_sqr(cons_s(x_1675)) -> sqr(s(encArg(x_1675))) [0] encode_sqr(cons_add(x_1676, x_2201)) -> sqr(add(encArg(x_1676), encArg(x_2201))) [0] encode_sqr(cons_dbl(x_1677)) -> sqr(dbl(encArg(x_1677))) [0] encode_sqr(cons_first(x_1678, x_2202)) -> sqr(first(encArg(x_1678), encArg(x_2202))) [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_1679)) -> s(active(encArg(x_1679))) [0] encode_s(cons_mark(x_1680)) -> s(mark(encArg(x_1680))) [0] encode_s(cons_terms(x_1681)) -> s(terms(encArg(x_1681))) [0] encode_s(cons_cons(x_1682, x_2203)) -> s(cons(encArg(x_1682), encArg(x_2203))) [0] encode_s(cons_recip(x_1683)) -> s(recip(encArg(x_1683))) [0] encode_s(cons_sqr(x_1684)) -> s(sqr(encArg(x_1684))) [0] encode_s(cons_s(x_1685)) -> s(s(encArg(x_1685))) [0] encode_s(cons_add(x_1686, x_2204)) -> s(add(encArg(x_1686), encArg(x_2204))) [0] encode_s(cons_dbl(x_1687)) -> s(dbl(encArg(x_1687))) [0] encode_s(cons_first(x_1688, x_2205)) -> s(first(encArg(x_1688), encArg(x_2205))) [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_1829)) -> dbl(active(encArg(x_1829))) [0] encode_dbl(cons_mark(x_1830)) -> dbl(mark(encArg(x_1830))) [0] encode_dbl(cons_terms(x_1831)) -> dbl(terms(encArg(x_1831))) [0] encode_dbl(cons_cons(x_1832, x_2248)) -> dbl(cons(encArg(x_1832), encArg(x_2248))) [0] encode_dbl(cons_recip(x_1833)) -> dbl(recip(encArg(x_1833))) [0] encode_dbl(cons_sqr(x_1834)) -> dbl(sqr(encArg(x_1834))) [0] encode_dbl(cons_s(x_1835)) -> dbl(s(encArg(x_1835))) [0] encode_dbl(cons_add(x_1836, x_2249)) -> dbl(add(encArg(x_1836), encArg(x_2249))) [0] encode_dbl(cons_dbl(x_1837)) -> dbl(dbl(encArg(x_1837))) [0] encode_dbl(cons_first(x_1838, x_2250)) -> dbl(first(encArg(x_1838), encArg(x_2250))) [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] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(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] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip:null_add:null_terms:null_dbl:null_cons:null_first:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (27) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 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_s => 0 null_sqr => 0 null_active => 0 null_recip => 0 null_add => 0 null_terms => 0 null_dbl => 0 null_cons => 0 null_first => 0 null_mark => 0 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 2 }-> mark(s(s(dbl(X315)))) :|: X315 >= 0, z = 1 + (1 + (1 + X315)) active(z) -{ 2 }-> mark(s(s(dbl(X316)))) :|: z = 1 + (1 + (1 + X316)), X316 >= 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(add(X, X2107))) :|: X2107 >= 0, z = 1 + (1 + X) + (1 + X2107), X >= 0 active(z) -{ 2 }-> mark(s(add(X, X2108))) :|: z = 1 + (1 + X) + (1 + X2108), X >= 0, X2108 >= 0 active(z) -{ 2 }-> mark(s(add(X1121, Y))) :|: X1121 >= 0, Y >= 0, z = 1 + (1 + (1 + X1121)) + Y active(z) -{ 2 }-> mark(s(add(X1122, Y))) :|: z = 1 + (1 + (1 + X1122)) + Y, Y >= 0, X1122 >= 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 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(s(1 + X + Y)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X2102))) :|: X2102 >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X2102)), Y >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X2103))) :|: X2103 >= 0, Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X2103)) active(z) -{ 2 }-> mark(cons(Y, first(X1116, Z))) :|: Z >= 0, Y >= 0, z = 1 + (1 + (1 + X1116)) + (1 + Y + Z), X1116 >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X1117, Z))) :|: Z >= 0, Y >= 0, X1117 >= 0, z = 1 + (1 + (1 + X1117)) + (1 + Y + Z) 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(X304)), terms(s(X304)))) :|: z = 1 + (1 + X304), X304 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X304)), terms(0))) :|: z = 1 + (1 + X304), X304 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X304)), terms(1 + (1 + X304)))) :|: z = 1 + (1 + X304), X304 >= 0 active(z) -{ 3 }-> mark(cons(recip(sqr(X305)), terms(s(X305)))) :|: z = 1 + (1 + X305), X305 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X305)), terms(0))) :|: z = 1 + (1 + X305), X305 >= 0 active(z) -{ 2 }-> mark(cons(recip(sqr(X305)), terms(1 + (1 + X305)))) :|: z = 1 + (1 + X305), X305 >= 0 active(z) -{ 2 }-> mark(cons(recip(0), terms(s(X308)))) :|: z = 1 + (1 + X308), X308 >= 0 active(z) -{ 2 }-> mark(cons(recip(0), terms(s(X309)))) :|: X309 >= 0, z = 1 + (1 + X309) 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 + X306)), terms(s(X306)))) :|: z = 1 + (1 + X306), X306 >= 0 active(z) -{ 2 }-> mark(cons(recip(1 + (1 + X307)), terms(s(X307)))) :|: z = 1 + (1 + X307), X307 >= 0 active(z) -{ 1 }-> mark(1) :|: z = 1 + 0 + X, X >= 0 active(z) -{ 1 }-> mark(0) :|: z = 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_121))) :|: z = 1 + (1 + x_121), x_121 >= 0 encArg(z) -{ 0 }-> terms(sqr(encArg(x_124))) :|: x_124 >= 0, z = 1 + (1 + x_124) encArg(z) -{ 0 }-> terms(s(encArg(x_125))) :|: z = 1 + (1 + x_125), x_125 >= 0 encArg(z) -{ 0 }-> terms(recip(encArg(x_123))) :|: x_123 >= 0, z = 1 + (1 + x_123) encArg(z) -{ 0 }-> terms(mark(encArg(x_120))) :|: x_120 >= 0, z = 1 + (1 + x_120) encArg(z) -{ 0 }-> terms(first(encArg(x_128), encArg(x_27))) :|: x_128 >= 0, z = 1 + (1 + x_128 + x_27), x_27 >= 0 encArg(z) -{ 0 }-> terms(dbl(encArg(x_127))) :|: z = 1 + (1 + x_127), x_127 >= 0 encArg(z) -{ 0 }-> terms(cons(encArg(x_122), encArg(x_25))) :|: x_25 >= 0, x_122 >= 0, z = 1 + (1 + x_122 + x_25) encArg(z) -{ 0 }-> terms(add(encArg(x_126), encArg(x_26))) :|: z = 1 + (1 + x_126 + x_26), x_26 >= 0, x_126 >= 0 encArg(z) -{ 0 }-> terms(active(encArg(x_119))) :|: z = 1 + (1 + x_119), x_119 >= 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_1181))) :|: x_1181 >= 0, z = 1 + (1 + x_1181) encArg(z) -{ 0 }-> sqr(sqr(encArg(x_1184))) :|: z = 1 + (1 + x_1184), x_1184 >= 0 encArg(z) -{ 0 }-> sqr(s(encArg(x_1185))) :|: x_1185 >= 0, z = 1 + (1 + x_1185) encArg(z) -{ 0 }-> sqr(recip(encArg(x_1183))) :|: z = 1 + (1 + x_1183), x_1183 >= 0 encArg(z) -{ 0 }-> sqr(mark(encArg(x_1180))) :|: x_1180 >= 0, z = 1 + (1 + x_1180) encArg(z) -{ 0 }-> sqr(first(encArg(x_1188), encArg(x_255))) :|: x_255 >= 0, x_1188 >= 0, z = 1 + (1 + x_1188 + x_255) encArg(z) -{ 0 }-> sqr(dbl(encArg(x_1187))) :|: z = 1 + (1 + x_1187), x_1187 >= 0 encArg(z) -{ 0 }-> sqr(cons(encArg(x_1182), encArg(x_253))) :|: x_1182 >= 0, x_253 >= 0, z = 1 + (1 + x_1182 + x_253) encArg(z) -{ 0 }-> sqr(add(encArg(x_1186), encArg(x_254))) :|: x_254 >= 0, x_1186 >= 0, z = 1 + (1 + x_1186 + x_254) encArg(z) -{ 0 }-> sqr(active(encArg(x_1179))) :|: x_1179 >= 0, z = 1 + (1 + x_1179) 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_1191))) :|: x_1191 >= 0, z = 1 + (1 + x_1191) encArg(z) -{ 0 }-> s(sqr(encArg(x_1194))) :|: x_1194 >= 0, z = 1 + (1 + x_1194) encArg(z) -{ 0 }-> s(s(encArg(x_1195))) :|: x_1195 >= 0, z = 1 + (1 + x_1195) encArg(z) -{ 0 }-> s(recip(encArg(x_1193))) :|: z = 1 + (1 + x_1193), x_1193 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(x_1190))) :|: x_1190 >= 0, z = 1 + (1 + x_1190) encArg(z) -{ 0 }-> s(first(encArg(x_1198), encArg(x_258))) :|: x_258 >= 0, z = 1 + (1 + x_1198 + x_258), x_1198 >= 0 encArg(z) -{ 0 }-> s(dbl(encArg(x_1197))) :|: z = 1 + (1 + x_1197), x_1197 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_1192), encArg(x_256))) :|: x_1192 >= 0, x_256 >= 0, z = 1 + (1 + x_1192 + x_256) encArg(z) -{ 0 }-> s(add(encArg(x_1196), encArg(x_257))) :|: z = 1 + (1 + x_1196 + x_257), x_1196 >= 0, x_257 >= 0 encArg(z) -{ 0 }-> s(active(encArg(x_1189))) :|: z = 1 + (1 + x_1189), x_1189 >= 0 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_1171))) :|: x_1171 >= 0, z = 1 + (1 + x_1171) encArg(z) -{ 0 }-> recip(sqr(encArg(x_1174))) :|: z = 1 + (1 + x_1174), x_1174 >= 0 encArg(z) -{ 0 }-> recip(s(encArg(x_1175))) :|: x_1175 >= 0, z = 1 + (1 + x_1175) encArg(z) -{ 0 }-> recip(recip(encArg(x_1173))) :|: x_1173 >= 0, z = 1 + (1 + x_1173) encArg(z) -{ 0 }-> recip(mark(encArg(x_1170))) :|: x_1170 >= 0, z = 1 + (1 + x_1170) encArg(z) -{ 0 }-> recip(first(encArg(x_1178), encArg(x_252))) :|: z = 1 + (1 + x_1178 + x_252), x_1178 >= 0, x_252 >= 0 encArg(z) -{ 0 }-> recip(dbl(encArg(x_1177))) :|: z = 1 + (1 + x_1177), x_1177 >= 0 encArg(z) -{ 0 }-> recip(cons(encArg(x_1172), encArg(x_250))) :|: x_250 >= 0, z = 1 + (1 + x_1172 + x_250), x_1172 >= 0 encArg(z) -{ 0 }-> recip(add(encArg(x_1176), encArg(x_251))) :|: z = 1 + (1 + x_1176 + x_251), x_1176 >= 0, x_251 >= 0 encArg(z) -{ 0 }-> recip(active(encArg(x_1169))) :|: x_1169 >= 0, z = 1 + (1 + x_1169) 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_111))) :|: z = 1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> mark(sqr(encArg(x_114))) :|: z = 1 + (1 + x_114), x_114 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(x_115))) :|: z = 1 + (1 + x_115), x_115 >= 0 encArg(z) -{ 0 }-> mark(recip(encArg(x_113))) :|: x_113 >= 0, z = 1 + (1 + x_113) encArg(z) -{ 0 }-> mark(mark(encArg(x_110))) :|: z = 1 + (1 + x_110), x_110 >= 0 encArg(z) -{ 0 }-> mark(first(encArg(x_118), encArg(x_24))) :|: z = 1 + (1 + x_118 + x_24), x_24 >= 0, x_118 >= 0 encArg(z) -{ 0 }-> mark(dbl(encArg(x_117))) :|: z = 1 + (1 + x_117), x_117 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_112), encArg(x_22))) :|: z = 1 + (1 + x_112 + x_22), x_112 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(add(encArg(x_116), encArg(x_23))) :|: x_116 >= 0, x_23 >= 0, z = 1 + (1 + x_116 + x_23) encArg(z) -{ 0 }-> mark(active(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 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 }-> 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_1341))) :|: z = 1 + (1 + x_1341), x_1341 >= 0 encArg(z) -{ 0 }-> dbl(sqr(encArg(x_1344))) :|: z = 1 + (1 + x_1344), x_1344 >= 0 encArg(z) -{ 0 }-> dbl(s(encArg(x_1345))) :|: z = 1 + (1 + x_1345), x_1345 >= 0 encArg(z) -{ 0 }-> dbl(recip(encArg(x_1343))) :|: x_1343 >= 0, z = 1 + (1 + x_1343) encArg(z) -{ 0 }-> dbl(mark(encArg(x_1340))) :|: z = 1 + (1 + x_1340), x_1340 >= 0 encArg(z) -{ 0 }-> dbl(first(encArg(x_1348), encArg(x_2103))) :|: z = 1 + (1 + x_1348 + x_2103), x_2103 >= 0, x_1348 >= 0 encArg(z) -{ 0 }-> dbl(dbl(encArg(x_1347))) :|: z = 1 + (1 + x_1347), x_1347 >= 0 encArg(z) -{ 0 }-> dbl(cons(encArg(x_1342), encArg(x_2101))) :|: z = 1 + (1 + x_1342 + x_2101), x_2101 >= 0, x_1342 >= 0 encArg(z) -{ 0 }-> dbl(add(encArg(x_1346), encArg(x_2102))) :|: z = 1 + (1 + x_1346 + x_2102), x_1346 >= 0, x_2102 >= 0 encArg(z) -{ 0 }-> dbl(active(encArg(x_1339))) :|: z = 1 + (1 + x_1339), x_1339 >= 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(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_1491))) :|: z = 1 + x_1491, x_1491 >= 0 encode_active(z) -{ 0 }-> active(sqr(encArg(x_1494))) :|: x_1494 >= 0, z = 1 + x_1494 encode_active(z) -{ 0 }-> active(s(encArg(x_1495))) :|: x_1495 >= 0, z = 1 + x_1495 encode_active(z) -{ 0 }-> active(recip(encArg(x_1493))) :|: z = 1 + x_1493, x_1493 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(x_1490))) :|: z = 1 + x_1490, x_1490 >= 0 encode_active(z) -{ 0 }-> active(first(encArg(x_1498), encArg(x_2148))) :|: x_2148 >= 0, x_1498 >= 0, z = 1 + x_1498 + x_2148 encode_active(z) -{ 0 }-> active(dbl(encArg(x_1497))) :|: z = 1 + x_1497, x_1497 >= 0 encode_active(z) -{ 0 }-> active(cons(encArg(x_1492), encArg(x_2146))) :|: x_1492 >= 0, z = 1 + x_1492 + x_2146, x_2146 >= 0 encode_active(z) -{ 0 }-> active(add(encArg(x_1496), encArg(x_2147))) :|: x_1496 >= 0, z = 1 + x_1496 + x_2147, x_2147 >= 0 encode_active(z) -{ 0 }-> active(active(encArg(x_1489))) :|: z = 1 + x_1489, x_1489 >= 0 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_1831))) :|: z = 1 + x_1831, x_1831 >= 0 encode_dbl(z) -{ 0 }-> dbl(sqr(encArg(x_1834))) :|: z = 1 + x_1834, x_1834 >= 0 encode_dbl(z) -{ 0 }-> dbl(s(encArg(x_1835))) :|: z = 1 + x_1835, x_1835 >= 0 encode_dbl(z) -{ 0 }-> dbl(recip(encArg(x_1833))) :|: z = 1 + x_1833, x_1833 >= 0 encode_dbl(z) -{ 0 }-> dbl(mark(encArg(x_1830))) :|: z = 1 + x_1830, x_1830 >= 0 encode_dbl(z) -{ 0 }-> dbl(first(encArg(x_1838), encArg(x_2250))) :|: x_2250 >= 0, x_1838 >= 0, z = 1 + x_1838 + x_2250 encode_dbl(z) -{ 0 }-> dbl(dbl(encArg(x_1837))) :|: x_1837 >= 0, z = 1 + x_1837 encode_dbl(z) -{ 0 }-> dbl(cons(encArg(x_1832), encArg(x_2248))) :|: x_2248 >= 0, x_1832 >= 0, z = 1 + x_1832 + x_2248 encode_dbl(z) -{ 0 }-> dbl(add(encArg(x_1836), encArg(x_2249))) :|: z = 1 + x_1836 + x_2249, x_1836 >= 0, x_2249 >= 0 encode_dbl(z) -{ 0 }-> dbl(active(encArg(x_1829))) :|: x_1829 >= 0, z = 1 + x_1829 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_mark(z) -{ 0 }-> mark(terms(encArg(x_1511))) :|: x_1511 >= 0, z = 1 + x_1511 encode_mark(z) -{ 0 }-> mark(sqr(encArg(x_1514))) :|: z = 1 + x_1514, x_1514 >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(x_1515))) :|: x_1515 >= 0, z = 1 + x_1515 encode_mark(z) -{ 0 }-> mark(recip(encArg(x_1513))) :|: z = 1 + x_1513, x_1513 >= 0 encode_mark(z) -{ 0 }-> mark(mark(encArg(x_1510))) :|: z = 1 + x_1510, x_1510 >= 0 encode_mark(z) -{ 0 }-> mark(first(encArg(x_1518), encArg(x_2154))) :|: z = 1 + x_1518 + x_2154, x_2154 >= 0, x_1518 >= 0 encode_mark(z) -{ 0 }-> mark(dbl(encArg(x_1517))) :|: z = 1 + x_1517, x_1517 >= 0 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_1512), encArg(x_2152))) :|: x_2152 >= 0, x_1512 >= 0, z = 1 + x_1512 + x_2152 encode_mark(z) -{ 0 }-> mark(add(encArg(x_1516), encArg(x_2153))) :|: x_2153 >= 0, z = 1 + x_1516 + x_2153, x_1516 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(x_1509))) :|: x_1509 >= 0, z = 1 + x_1509 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_1661))) :|: x_1661 >= 0, z = 1 + x_1661 encode_recip(z) -{ 0 }-> recip(sqr(encArg(x_1664))) :|: z = 1 + x_1664, x_1664 >= 0 encode_recip(z) -{ 0 }-> recip(s(encArg(x_1665))) :|: z = 1 + x_1665, x_1665 >= 0 encode_recip(z) -{ 0 }-> recip(recip(encArg(x_1663))) :|: x_1663 >= 0, z = 1 + x_1663 encode_recip(z) -{ 0 }-> recip(mark(encArg(x_1660))) :|: x_1660 >= 0, z = 1 + x_1660 encode_recip(z) -{ 0 }-> recip(first(encArg(x_1668), encArg(x_2199))) :|: x_1668 >= 0, x_2199 >= 0, z = 1 + x_1668 + x_2199 encode_recip(z) -{ 0 }-> recip(dbl(encArg(x_1667))) :|: x_1667 >= 0, z = 1 + x_1667 encode_recip(z) -{ 0 }-> recip(cons(encArg(x_1662), encArg(x_2197))) :|: x_1662 >= 0, z = 1 + x_1662 + x_2197, x_2197 >= 0 encode_recip(z) -{ 0 }-> recip(add(encArg(x_1666), encArg(x_2198))) :|: x_2198 >= 0, z = 1 + x_1666 + x_2198, x_1666 >= 0 encode_recip(z) -{ 0 }-> recip(active(encArg(x_1659))) :|: z = 1 + x_1659, x_1659 >= 0 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_1681))) :|: x_1681 >= 0, z = 1 + x_1681 encode_s(z) -{ 0 }-> s(sqr(encArg(x_1684))) :|: x_1684 >= 0, z = 1 + x_1684 encode_s(z) -{ 0 }-> s(s(encArg(x_1685))) :|: z = 1 + x_1685, x_1685 >= 0 encode_s(z) -{ 0 }-> s(recip(encArg(x_1683))) :|: x_1683 >= 0, z = 1 + x_1683 encode_s(z) -{ 0 }-> s(mark(encArg(x_1680))) :|: x_1680 >= 0, z = 1 + x_1680 encode_s(z) -{ 0 }-> s(first(encArg(x_1688), encArg(x_2205))) :|: z = 1 + x_1688 + x_2205, x_1688 >= 0, x_2205 >= 0 encode_s(z) -{ 0 }-> s(dbl(encArg(x_1687))) :|: x_1687 >= 0, z = 1 + x_1687 encode_s(z) -{ 0 }-> s(cons(encArg(x_1682), encArg(x_2203))) :|: x_2203 >= 0, x_1682 >= 0, z = 1 + x_1682 + x_2203 encode_s(z) -{ 0 }-> s(add(encArg(x_1686), encArg(x_2204))) :|: z = 1 + x_1686 + x_2204, x_1686 >= 0, x_2204 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(x_1679))) :|: x_1679 >= 0, z = 1 + x_1679 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_1671))) :|: z = 1 + x_1671, x_1671 >= 0 encode_sqr(z) -{ 0 }-> sqr(sqr(encArg(x_1674))) :|: z = 1 + x_1674, x_1674 >= 0 encode_sqr(z) -{ 0 }-> sqr(s(encArg(x_1675))) :|: z = 1 + x_1675, x_1675 >= 0 encode_sqr(z) -{ 0 }-> sqr(recip(encArg(x_1673))) :|: x_1673 >= 0, z = 1 + x_1673 encode_sqr(z) -{ 0 }-> sqr(mark(encArg(x_1670))) :|: x_1670 >= 0, z = 1 + x_1670 encode_sqr(z) -{ 0 }-> sqr(first(encArg(x_1678), encArg(x_2202))) :|: z = 1 + x_1678 + x_2202, x_1678 >= 0, x_2202 >= 0 encode_sqr(z) -{ 0 }-> sqr(dbl(encArg(x_1677))) :|: z = 1 + x_1677, x_1677 >= 0 encode_sqr(z) -{ 0 }-> sqr(cons(encArg(x_1672), encArg(x_2200))) :|: z = 1 + x_1672 + x_2200, x_1672 >= 0, x_2200 >= 0 encode_sqr(z) -{ 0 }-> sqr(add(encArg(x_1676), encArg(x_2201))) :|: z = 1 + x_1676 + x_2201, x_2201 >= 0, x_1676 >= 0 encode_sqr(z) -{ 0 }-> sqr(active(encArg(x_1669))) :|: x_1669 >= 0, z = 1 + x_1669 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_1501))) :|: z = 1 + x_1501, x_1501 >= 0 encode_terms(z) -{ 0 }-> terms(sqr(encArg(x_1504))) :|: x_1504 >= 0, z = 1 + x_1504 encode_terms(z) -{ 0 }-> terms(s(encArg(x_1505))) :|: x_1505 >= 0, z = 1 + x_1505 encode_terms(z) -{ 0 }-> terms(recip(encArg(x_1503))) :|: x_1503 >= 0, z = 1 + x_1503 encode_terms(z) -{ 0 }-> terms(mark(encArg(x_1500))) :|: z = 1 + x_1500, x_1500 >= 0 encode_terms(z) -{ 0 }-> terms(first(encArg(x_1508), encArg(x_2151))) :|: x_2151 >= 0, z = 1 + x_1508 + x_2151, x_1508 >= 0 encode_terms(z) -{ 0 }-> terms(dbl(encArg(x_1507))) :|: x_1507 >= 0, z = 1 + x_1507 encode_terms(z) -{ 0 }-> terms(cons(encArg(x_1502), encArg(x_2149))) :|: x_2149 >= 0, z = 1 + x_1502 + x_2149, x_1502 >= 0 encode_terms(z) -{ 0 }-> terms(add(encArg(x_1506), encArg(x_2150))) :|: x_2150 >= 0, z = 1 + x_1506 + x_2150, x_1506 >= 0 encode_terms(z) -{ 0 }-> terms(active(encArg(x_1499))) :|: z = 1 + x_1499, x_1499 >= 0 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 mark(z) -{ 2 }-> active(terms(active(terms(mark(X313))))) :|: X313 >= 0, z = 1 + (1 + X313) mark(z) -{ 2 }-> active(terms(active(sqr(mark(X314))))) :|: z = 1 + (1 + X314), X314 >= 0 mark(z) -{ 2 }-> active(terms(active(s(mark(X310))))) :|: X310 >= 0, z = 1 + (1 + X310) mark(z) -{ 2 }-> active(terms(active(recip(mark(X311))))) :|: X311 >= 0, z = 1 + (1 + X311) mark(z) -{ 2 }-> active(terms(active(first(mark(X1119), mark(X2105))))) :|: X1119 >= 0, z = 1 + (1 + X1119 + X2105), X2105 >= 0 mark(z) -{ 2 }-> active(terms(active(dbl(mark(X312))))) :|: z = 1 + (1 + X312), X312 >= 0 mark(z) -{ 2 }-> active(terms(active(cons(mark(X1120), X2106)))) :|: z = 1 + (1 + X1120 + X2106), X2106 >= 0, X1120 >= 0 mark(z) -{ 2 }-> active(terms(active(add(mark(X1118), mark(X2104))))) :|: z = 1 + (1 + X1118 + X2104), X1118 >= 0, X2104 >= 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(X325))))) :|: X325 >= 0, z = 1 + (1 + X325) mark(z) -{ 2 }-> active(sqr(active(sqr(mark(X326))))) :|: X326 >= 0, z = 1 + (1 + X326) mark(z) -{ 2 }-> active(sqr(active(s(mark(X322))))) :|: z = 1 + (1 + X322), X322 >= 0 mark(z) -{ 2 }-> active(sqr(active(recip(mark(X323))))) :|: X323 >= 0, z = 1 + (1 + X323) mark(z) -{ 2 }-> active(sqr(active(first(mark(X1127), mark(X2113))))) :|: X2113 >= 0, X1127 >= 0, z = 1 + (1 + X1127 + X2113) mark(z) -{ 2 }-> active(sqr(active(dbl(mark(X324))))) :|: z = 1 + (1 + X324), X324 >= 0 mark(z) -{ 2 }-> active(sqr(active(cons(mark(X1128), X2114)))) :|: X1128 >= 0, X2114 >= 0, z = 1 + (1 + X1128 + X2114) mark(z) -{ 2 }-> active(sqr(active(add(mark(X1126), mark(X2112))))) :|: z = 1 + (1 + X1126 + X2112), X2112 >= 0, X1126 >= 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(X10))))) :|: z = 1 + (1 + X10), X10 >= 0 mark(z) -{ 2 }-> active(s(active(sqr(mark(X12))))) :|: z = 1 + (1 + X12), X12 >= 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(first(mark(X1''), mark(X2''))))) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 0 mark(z) -{ 2 }-> active(s(active(dbl(mark(X9))))) :|: X9 >= 0, z = 1 + (1 + X9) mark(z) -{ 2 }-> active(s(active(cons(mark(X11), X21)))) :|: z = 1 + (1 + X11 + X21), X11 >= 0, X21 >= 0 mark(z) -{ 2 }-> active(s(active(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(X295))))) :|: z = 1 + (1 + X295), X295 >= 0 mark(z) -{ 2 }-> active(recip(active(sqr(mark(X297))))) :|: z = 1 + (1 + X297), X297 >= 0 mark(z) -{ 2 }-> active(recip(active(s(mark(X290))))) :|: z = 1 + (1 + X290), X290 >= 0 mark(z) -{ 2 }-> active(recip(active(recip(mark(X293))))) :|: X293 >= 0, z = 1 + (1 + X293) mark(z) -{ 2 }-> active(recip(active(first(mark(X1111), mark(X292))))) :|: X1111 >= 0, X292 >= 0, z = 1 + (1 + X1111 + X292) mark(z) -{ 2 }-> active(recip(active(dbl(mark(X294))))) :|: z = 1 + (1 + X294), X294 >= 0 mark(z) -{ 2 }-> active(recip(active(cons(mark(X1112), X296)))) :|: z = 1 + (1 + X1112 + X296), X296 >= 0, X1112 >= 0 mark(z) -{ 2 }-> active(recip(active(add(mark(X1110), mark(X291))))) :|: X1110 >= 0, z = 1 + (1 + X1110 + X291), X291 >= 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) -{ 1 }-> active(first(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(dbl(active(terms(mark(X302))))) :|: X302 >= 0, z = 1 + (1 + X302) mark(z) -{ 2 }-> active(dbl(active(sqr(mark(X303))))) :|: z = 1 + (1 + X303), X303 >= 0 mark(z) -{ 2 }-> active(dbl(active(s(mark(X298))))) :|: z = 1 + (1 + X298), X298 >= 0 mark(z) -{ 2 }-> active(dbl(active(recip(mark(X300))))) :|: X300 >= 0, z = 1 + (1 + X300) mark(z) -{ 2 }-> active(dbl(active(first(mark(X1114), mark(X2100))))) :|: X1114 >= 0, z = 1 + (1 + X1114 + X2100), X2100 >= 0 mark(z) -{ 2 }-> active(dbl(active(dbl(mark(X301))))) :|: X301 >= 0, z = 1 + (1 + X301) mark(z) -{ 2 }-> active(dbl(active(cons(mark(X1115), X2101)))) :|: X1115 >= 0, z = 1 + (1 + X1115 + X2101), X2101 >= 0 mark(z) -{ 2 }-> active(dbl(active(add(mark(X1113), mark(X299))))) :|: X1113 >= 0, X299 >= 0, z = 1 + (1 + X1113 + X299) 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(X320))), X2)) :|: z = 1 + (1 + X320) + X2, X320 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(sqr(mark(X321))), X2)) :|: z = 1 + (1 + X321) + X2, X321 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(s(mark(X317))), X2)) :|: z = 1 + (1 + X317) + X2, X2 >= 0, X317 >= 0 mark(z) -{ 2 }-> active(cons(active(recip(mark(X318))), X2)) :|: X318 >= 0, X2 >= 0, z = 1 + (1 + X318) + X2 mark(z) -{ 2 }-> active(cons(active(first(mark(X1124), mark(X2110))), X2)) :|: X2110 >= 0, z = 1 + (1 + X1124 + X2110) + X2, X1124 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(dbl(mark(X319))), X2)) :|: X319 >= 0, z = 1 + (1 + X319) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(cons(mark(X1125), X2111)), X2)) :|: X1125 >= 0, z = 1 + (1 + X1125 + X2111) + X2, X2111 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(add(mark(X1123), mark(X2109))), X2)) :|: z = 1 + (1 + X1123 + X2109) + X2, X2109 >= 0, X1123 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(1), X2)) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(0), X2)) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 1 }-> active(cons(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(cons(1 + X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 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 ---------------------------------------- (29) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 2 }-> mark(s(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(add(X, X2107))) :|: X2107 >= 0, z = 1 + (1 + X) + (1 + X2107), X >= 0 active(z) -{ 2 }-> mark(s(add(X, X2108))) :|: z = 1 + (1 + X) + (1 + X2108), X >= 0, X2108 >= 0 active(z) -{ 2 }-> mark(s(add(X1121, Y))) :|: X1121 >= 0, Y >= 0, z = 1 + (1 + (1 + X1121)) + Y active(z) -{ 2 }-> mark(s(add(X1122, Y))) :|: z = 1 + (1 + (1 + X1122)) + Y, Y >= 0, X1122 >= 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 = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 1 }-> mark(s(1 + X + Y)) :|: z = 1 + (1 + X) + Y, Y >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X2102))) :|: X2102 >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X2102)), Y >= 0, X >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X, X2103))) :|: X2103 >= 0, Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y + (1 + X2103)) active(z) -{ 2 }-> mark(cons(Y, first(X1116, Z))) :|: Z >= 0, Y >= 0, z = 1 + (1 + (1 + X1116)) + (1 + Y + Z), X1116 >= 0 active(z) -{ 2 }-> mark(cons(Y, first(X1117, Z))) :|: Z >= 0, Y >= 0, X1117 >= 0, z = 1 + (1 + (1 + X1117)) + (1 + Y + Z) 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(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(first(encArg(x_128), encArg(x_27))) :|: x_128 >= 0, z = 1 + (1 + x_128 + x_27), x_27 >= 0 encArg(z) -{ 0 }-> terms(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> terms(cons(encArg(x_122), encArg(x_25))) :|: x_25 >= 0, x_122 >= 0, z = 1 + (1 + x_122 + x_25) encArg(z) -{ 0 }-> terms(add(encArg(x_126), encArg(x_26))) :|: z = 1 + (1 + x_126 + x_26), x_26 >= 0, x_126 >= 0 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(first(encArg(x_1188), encArg(x_255))) :|: x_255 >= 0, x_1188 >= 0, z = 1 + (1 + x_1188 + x_255) encArg(z) -{ 0 }-> sqr(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> sqr(cons(encArg(x_1182), encArg(x_253))) :|: x_1182 >= 0, x_253 >= 0, z = 1 + (1 + x_1182 + x_253) encArg(z) -{ 0 }-> sqr(add(encArg(x_1186), encArg(x_254))) :|: x_254 >= 0, x_1186 >= 0, z = 1 + (1 + x_1186 + x_254) 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(first(encArg(x_1198), encArg(x_258))) :|: x_258 >= 0, z = 1 + (1 + x_1198 + x_258), x_1198 >= 0 encArg(z) -{ 0 }-> s(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(cons(encArg(x_1192), encArg(x_256))) :|: x_1192 >= 0, x_256 >= 0, z = 1 + (1 + x_1192 + x_256) encArg(z) -{ 0 }-> s(add(encArg(x_1196), encArg(x_257))) :|: z = 1 + (1 + x_1196 + x_257), x_1196 >= 0, x_257 >= 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(first(encArg(x_1178), encArg(x_252))) :|: z = 1 + (1 + x_1178 + x_252), x_1178 >= 0, x_252 >= 0 encArg(z) -{ 0 }-> recip(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> recip(cons(encArg(x_1172), encArg(x_250))) :|: x_250 >= 0, z = 1 + (1 + x_1172 + x_250), x_1172 >= 0 encArg(z) -{ 0 }-> recip(add(encArg(x_1176), encArg(x_251))) :|: z = 1 + (1 + x_1176 + x_251), x_1176 >= 0, x_251 >= 0 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(first(encArg(x_118), encArg(x_24))) :|: z = 1 + (1 + x_118 + x_24), x_24 >= 0, x_118 >= 0 encArg(z) -{ 0 }-> mark(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(cons(encArg(x_112), encArg(x_22))) :|: z = 1 + (1 + x_112 + x_22), x_112 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(add(encArg(x_116), encArg(x_23))) :|: x_116 >= 0, x_23 >= 0, z = 1 + (1 + x_116 + 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 }-> 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(first(encArg(x_1348), encArg(x_2103))) :|: z = 1 + (1 + x_1348 + x_2103), x_2103 >= 0, x_1348 >= 0 encArg(z) -{ 0 }-> dbl(dbl(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> dbl(cons(encArg(x_1342), encArg(x_2101))) :|: z = 1 + (1 + x_1342 + x_2101), x_2101 >= 0, x_1342 >= 0 encArg(z) -{ 0 }-> dbl(add(encArg(x_1346), encArg(x_2102))) :|: z = 1 + (1 + x_1346 + x_2102), x_1346 >= 0, x_2102 >= 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(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(first(encArg(x_1498), encArg(x_2148))) :|: x_2148 >= 0, x_1498 >= 0, z = 1 + x_1498 + x_2148 encode_active(z) -{ 0 }-> active(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(cons(encArg(x_1492), encArg(x_2146))) :|: x_1492 >= 0, z = 1 + x_1492 + x_2146, x_2146 >= 0 encode_active(z) -{ 0 }-> active(add(encArg(x_1496), encArg(x_2147))) :|: x_1496 >= 0, z = 1 + x_1496 + x_2147, x_2147 >= 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(first(encArg(x_1838), encArg(x_2250))) :|: x_2250 >= 0, x_1838 >= 0, z = 1 + x_1838 + x_2250 encode_dbl(z) -{ 0 }-> dbl(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_dbl(z) -{ 0 }-> dbl(cons(encArg(x_1832), encArg(x_2248))) :|: x_2248 >= 0, x_1832 >= 0, z = 1 + x_1832 + x_2248 encode_dbl(z) -{ 0 }-> dbl(add(encArg(x_1836), encArg(x_2249))) :|: z = 1 + x_1836 + x_2249, x_1836 >= 0, x_2249 >= 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_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(first(encArg(x_1518), encArg(x_2154))) :|: z = 1 + x_1518 + x_2154, x_2154 >= 0, x_1518 >= 0 encode_mark(z) -{ 0 }-> mark(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(cons(encArg(x_1512), encArg(x_2152))) :|: x_2152 >= 0, x_1512 >= 0, z = 1 + x_1512 + x_2152 encode_mark(z) -{ 0 }-> mark(add(encArg(x_1516), encArg(x_2153))) :|: x_2153 >= 0, z = 1 + x_1516 + x_2153, x_1516 >= 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(first(encArg(x_1668), encArg(x_2199))) :|: x_1668 >= 0, x_2199 >= 0, z = 1 + x_1668 + x_2199 encode_recip(z) -{ 0 }-> recip(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_recip(z) -{ 0 }-> recip(cons(encArg(x_1662), encArg(x_2197))) :|: x_1662 >= 0, z = 1 + x_1662 + x_2197, x_2197 >= 0 encode_recip(z) -{ 0 }-> recip(add(encArg(x_1666), encArg(x_2198))) :|: x_2198 >= 0, z = 1 + x_1666 + x_2198, x_1666 >= 0 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(first(encArg(x_1688), encArg(x_2205))) :|: z = 1 + x_1688 + x_2205, x_1688 >= 0, x_2205 >= 0 encode_s(z) -{ 0 }-> s(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(cons(encArg(x_1682), encArg(x_2203))) :|: x_2203 >= 0, x_1682 >= 0, z = 1 + x_1682 + x_2203 encode_s(z) -{ 0 }-> s(add(encArg(x_1686), encArg(x_2204))) :|: z = 1 + x_1686 + x_2204, x_1686 >= 0, x_2204 >= 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(first(encArg(x_1678), encArg(x_2202))) :|: z = 1 + x_1678 + x_2202, x_1678 >= 0, x_2202 >= 0 encode_sqr(z) -{ 0 }-> sqr(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_sqr(z) -{ 0 }-> sqr(cons(encArg(x_1672), encArg(x_2200))) :|: z = 1 + x_1672 + x_2200, x_1672 >= 0, x_2200 >= 0 encode_sqr(z) -{ 0 }-> sqr(add(encArg(x_1676), encArg(x_2201))) :|: z = 1 + x_1676 + x_2201, x_2201 >= 0, x_1676 >= 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(first(encArg(x_1508), encArg(x_2151))) :|: x_2151 >= 0, z = 1 + x_1508 + x_2151, x_1508 >= 0 encode_terms(z) -{ 0 }-> terms(dbl(encArg(z - 1))) :|: z - 1 >= 0 encode_terms(z) -{ 0 }-> terms(cons(encArg(x_1502), encArg(x_2149))) :|: x_2149 >= 0, z = 1 + x_1502 + x_2149, x_1502 >= 0 encode_terms(z) -{ 0 }-> terms(add(encArg(x_1506), encArg(x_2150))) :|: x_2150 >= 0, z = 1 + x_1506 + x_2150, x_1506 >= 0 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 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(first(mark(X1119), mark(X2105))))) :|: X1119 >= 0, z = 1 + (1 + X1119 + X2105), X2105 >= 0 mark(z) -{ 2 }-> active(terms(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(terms(active(cons(mark(X1120), X2106)))) :|: z = 1 + (1 + X1120 + X2106), X2106 >= 0, X1120 >= 0 mark(z) -{ 2 }-> active(terms(active(add(mark(X1118), mark(X2104))))) :|: z = 1 + (1 + X1118 + X2104), X1118 >= 0, X2104 >= 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(first(mark(X1127), mark(X2113))))) :|: X2113 >= 0, X1127 >= 0, z = 1 + (1 + X1127 + X2113) mark(z) -{ 2 }-> active(sqr(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(sqr(active(cons(mark(X1128), X2114)))) :|: X1128 >= 0, X2114 >= 0, z = 1 + (1 + X1128 + X2114) mark(z) -{ 2 }-> active(sqr(active(add(mark(X1126), mark(X2112))))) :|: z = 1 + (1 + X1126 + X2112), X2112 >= 0, X1126 >= 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(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(X11), X21)))) :|: z = 1 + (1 + X11 + X21), X11 >= 0, 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(first(mark(X1111), mark(X292))))) :|: X1111 >= 0, X292 >= 0, z = 1 + (1 + X1111 + X292) mark(z) -{ 2 }-> active(recip(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(recip(active(cons(mark(X1112), X296)))) :|: z = 1 + (1 + X1112 + X296), X296 >= 0, X1112 >= 0 mark(z) -{ 2 }-> active(recip(active(add(mark(X1110), mark(X291))))) :|: X1110 >= 0, z = 1 + (1 + X1110 + X291), X291 >= 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) -{ 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(first(mark(X1114), mark(X2100))))) :|: X1114 >= 0, z = 1 + (1 + X1114 + X2100), X2100 >= 0 mark(z) -{ 2 }-> active(dbl(active(dbl(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(dbl(active(cons(mark(X1115), X2101)))) :|: X1115 >= 0, z = 1 + (1 + X1115 + X2101), X2101 >= 0 mark(z) -{ 2 }-> active(dbl(active(add(mark(X1113), mark(X299))))) :|: X1113 >= 0, X299 >= 0, z = 1 + (1 + X1113 + X299) 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(X320))), X2)) :|: z = 1 + (1 + X320) + X2, X320 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(sqr(mark(X321))), X2)) :|: z = 1 + (1 + X321) + X2, X321 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(s(mark(X317))), X2)) :|: z = 1 + (1 + X317) + X2, X2 >= 0, X317 >= 0 mark(z) -{ 2 }-> active(cons(active(recip(mark(X318))), X2)) :|: X318 >= 0, X2 >= 0, z = 1 + (1 + X318) + X2 mark(z) -{ 2 }-> active(cons(active(first(mark(X1124), mark(X2110))), X2)) :|: X2110 >= 0, z = 1 + (1 + X1124 + X2110) + X2, X1124 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(dbl(mark(X319))), X2)) :|: X319 >= 0, z = 1 + (1 + X319) + X2, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(cons(mark(X1125), X2111)), X2)) :|: X1125 >= 0, z = 1 + (1 + X1125 + X2111) + X2, X2111 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(cons(active(add(mark(X1123), mark(X2109))), X2)) :|: z = 1 + (1 + X1123 + X2109) + X2, X2109 >= 0, X1123 >= 0, X2 >= 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 ---------------------------------------- (31) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_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] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [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_s, null_sqr, null_active, null_recip, null_add, null_terms, null_dbl, null_cons, null_first, null_mark ---------------------------------------- (32) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: mark(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] first(X1, c_mark(X2)) -> first(X1, X2) [1] mark(c_dbl(X)) -> active(dbl(mark(X))) [1] cons(X1, c_active(X2)) -> cons(X1, X2) [1] active(c_first(c_s(X), c_cons(Y, Z))) -> mark(cons(Y, first(X, Z))) [1] cons(X1, c_mark(X2)) -> cons(X1, X2) [1] first(X1, c_active(X2)) -> first(X1, X2) [1] 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] 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] 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] 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] 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] s(x0) -> c_s(x0) [0] sqr(x0) -> c_sqr(x0) [0] active(x0) -> c_active(x0) [0] recip(x0) -> c_recip(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] s(v0) -> null_s [0] sqr(v0) -> null_sqr [0] active(v0) -> null_active [0] recip(v0) -> null_recip [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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip: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_cons:c_terms:cons_active:cons_mark:cons_terms:cons_cons:cons_recip:cons_sqr:cons_s:cons_add:cons_dbl:cons_first:null_encArg:null_encode_active:null_encode_terms:null_encode_mark:null_encode_cons:null_encode_recip:null_encode_sqr:null_encode_s:null_encode_0:null_encode_add:null_encode_dbl:null_encode_first:null_encode_nil:null_s:null_sqr:null_active:null_recip:null_add:null_terms:null_dbl:null_cons:null_first:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (33) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 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_s => 0 null_sqr => 0 null_active => 0 null_recip => 0 null_add => 0 null_terms => 0 null_dbl => 0 null_cons => 0 null_first => 0 null_mark => 0 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: 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(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) -{ 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 }-> 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_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 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(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. ---------------------------------------- (35) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (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)) 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 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))) 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) 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) 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)) ENCODE_ACTIVE(z0) -> c12(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_TERMS(z0) -> c13(TERMS(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c14(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c15(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_RECIP(z0) -> c16(RECIP(encArg(z0)), ENCARG(z0)) ENCODE_SQR(z0) -> c17(SQR(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c18(S(encArg(z0)), ENCARG(z0)) ENCODE_0 -> c19 ENCODE_ADD(z0, z1) -> c20(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DBL(z0) -> c21(DBL(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c22(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_NIL -> c23 ACTIVE(terms(z0)) -> c24(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)) -> c25(MARK(0)) ACTIVE(sqr(s(z0))) -> c26(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)) -> c27(MARK(0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c38(ACTIVE(0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c42(ACTIVE(nil)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) S tuples: ACTIVE(terms(z0)) -> c24(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)) -> c25(MARK(0)) ACTIVE(sqr(s(z0))) -> c26(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)) -> c27(MARK(0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c38(ACTIVE(0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c42(ACTIVE(nil)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) 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, 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 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, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2 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_3, c16_2, c17_2, c18_2, c19, c20_3, c21_2, c22_3, c23, c24_6, c25_1, c26_5, c27_1, c28_4, c29_1, c30_3, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c38_1, c39_4, c40_3, c41_4, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing nodes: ENCARG(0) -> c ENCODE_0 -> c19 ENCODE_NIL -> c23 ENCARG(nil) -> c1 ---------------------------------------- (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)) 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 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))) 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) 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) 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)) ENCODE_ACTIVE(z0) -> c12(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_TERMS(z0) -> c13(TERMS(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c14(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c15(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_RECIP(z0) -> c16(RECIP(encArg(z0)), ENCARG(z0)) ENCODE_SQR(z0) -> c17(SQR(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c18(S(encArg(z0)), ENCARG(z0)) ENCODE_ADD(z0, z1) -> c20(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DBL(z0) -> c21(DBL(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c22(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(terms(z0)) -> c24(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)) -> c25(MARK(0)) ACTIVE(sqr(s(z0))) -> c26(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)) -> c27(MARK(0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c38(ACTIVE(0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c42(ACTIVE(nil)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) S tuples: ACTIVE(terms(z0)) -> c24(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)) -> c25(MARK(0)) ACTIVE(sqr(s(z0))) -> c26(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)) -> c27(MARK(0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), S(s(dbl(z0))), S(dbl(z0)), DBL(z0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), S(add(z0, z1)), ADD(z0, z1)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(0) -> c38(ACTIVE(0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(nil) -> c42(ACTIVE(nil)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) 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, 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 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, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2 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_3, c16_2, c17_2, c18_2, c20_3, c21_2, c22_3, c24_6, c25_1, c26_5, c27_1, c28_4, c29_1, c30_3, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c38_1, c39_4, c40_3, c41_4, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 10 trailing tuple parts ---------------------------------------- (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)) 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 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))) 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) 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) 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)) ENCODE_ACTIVE(z0) -> c12(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_TERMS(z0) -> c13(TERMS(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c14(MARK(encArg(z0)), ENCARG(z0)) ENCODE_CONS(z0, z1) -> c15(CONS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_RECIP(z0) -> c16(RECIP(encArg(z0)), ENCARG(z0)) ENCODE_SQR(z0) -> c17(SQR(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c18(S(encArg(z0)), ENCARG(z0)) ENCODE_ADD(z0, z1) -> c20(ADD(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DBL(z0) -> c21(DBL(encArg(z0)), ENCARG(z0)) ENCODE_FIRST(z0, z1) -> c22(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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, 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 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, ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2 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_3, c16_2, c17_2, c18_2, c20_3, c21_2, c22_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42 ---------------------------------------- (41) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (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)) 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 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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, 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 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, 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: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 13 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)) ---------------------------------------- (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)) 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 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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, 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 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, 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: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1 ---------------------------------------- (45) 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 ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c2_2, c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1 ---------------------------------------- (47) 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))) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2 ---------------------------------------- (49) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_active(nil)) -> c2(ACTIVE(nil), ENCARG(nil)) ENCARG(cons_active(0)) -> c2(ACTIVE(0), ENCARG(0)) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c3_2, c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2 ---------------------------------------- (51) 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))) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2 ---------------------------------------- (53) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(0)) -> c3(MARK(0)) ENCARG(cons_mark(nil)) -> c3(MARK(nil)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c4_2, c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1 ---------------------------------------- (55) 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))) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2 ---------------------------------------- (57) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_terms(0)) -> c4(TERMS(0), ENCARG(0)) ENCARG(cons_terms(nil)) -> c4(TERMS(nil), ENCARG(nil)) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c5_3, c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2 ---------------------------------------- (59) 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(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)) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3 ---------------------------------------- (61) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c6_2, c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2 ---------------------------------------- (63) 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))) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2 ---------------------------------------- (65) 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)) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c7_2, c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2 ---------------------------------------- (67) 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))) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2 ---------------------------------------- (69) 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)) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c8_2, c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2 ---------------------------------------- (71) 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))) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2 ---------------------------------------- (73) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_s(nil)) -> c8(S(nil), ENCARG(nil)) ENCARG(cons_s(0)) -> c8(S(0), ENCARG(0)) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c9_3, c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2 ---------------------------------------- (75) 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(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)) ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3 ---------------------------------------- (77) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) 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)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c10_2, c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, c_1, c2_2, c3_2, c3_1, c4_2, c5_3, c5_2, c6_2, c7_2, c8_2, c9_3, c9_2 ---------------------------------------- (79) 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))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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) 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)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ENCARG(cons_first(z0, z1)) -> c11(FIRST(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 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, 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: c11_3, c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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 ---------------------------------------- (83) 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(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)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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 ---------------------------------------- (85) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c33_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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 ---------------------------------------- (87) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(terms(z0)) -> c33(ACTIVE(terms(mark(z0))), TERMS(mark(z0)), MARK(z0)) by MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c34_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(cons(z0, z1)) -> c34(ACTIVE(cons(mark(z0), z1)), CONS(mark(z0), z1), MARK(z0)) by MARK(cons(z0, z1)) -> c34(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(z0, z1)) -> c34(ACTIVE(cons(z0, z1)), CONS(mark(z0), z1), MARK(z0)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1 ---------------------------------------- (91) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c35_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2 ---------------------------------------- (93) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(recip(z0)) -> c35(ACTIVE(recip(mark(z0))), RECIP(mark(z0)), MARK(z0)) by MARK(recip(z0)) -> c35(ACTIVE(recip(z0)), RECIP(mark(z0)), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(z0)), RECIP(mark(z0)), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(z0)) -> c35(ACTIVE(recip(z0)), RECIP(mark(z0)), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3 ---------------------------------------- (95) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c36_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2 ---------------------------------------- (97) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(sqr(z0)) -> c36(ACTIVE(sqr(mark(z0))), SQR(mark(z0)), MARK(z0)) by MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c37_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(s(z0)) -> c37(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) by MARK(s(z0)) -> c37(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3 ---------------------------------------- (101) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c39_4, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2 ---------------------------------------- (103) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(add(z0, z1)) -> c39(ACTIVE(add(mark(z0), mark(z1))), ADD(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c40_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(dbl(z0)) -> c40(ACTIVE(dbl(mark(z0))), DBL(mark(z0)), MARK(z0)) by MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) 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 Defined Pair Symbols: ACTIVE_1, MARK_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c41_4, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(first(z0, z1)) -> c41(ACTIVE(first(mark(z0), mark(z1))), FIRST(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (109) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) 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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (111) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_ACTIVE(nil) -> c(ACTIVE(nil)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (113) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (115) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_TERMS(nil) -> c(TERMS(nil)) ENCODE_TERMS(0) -> c(TERMS(0)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (117) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (119) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 2 leading nodes: ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(nil) -> c(MARK(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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (121) 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(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))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_RECIP_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (123) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (125) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_RECIP(0) -> c(RECIP(0)) ENCODE_RECIP(nil) -> c(RECIP(nil)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_SQR_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (127) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (129) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_SQR(nil) -> c(SQR(nil)) ENCODE_SQR(0) -> c(SQR(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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_S_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_TERMS_1, ENCODE_MARK_1, ENCODE_CONS_2, ENCODE_RECIP_1, ENCODE_SQR_1 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (131) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, 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: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (133) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_S(0) -> c(S(0)) ENCODE_S(nil) -> c(S(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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_ADD_2, ENCODE_DBL_1, ENCODE_FIRST_2, 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: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (135) 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(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))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCODE_DBL(z0) -> c(DBL(encArg(z0))) ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_DBL_1, ENCODE_FIRST_2, 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: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (137) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_FIRST_2, 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: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (139) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCODE_DBL(nil) -> c(DBL(nil)) ENCODE_DBL(0) -> c(DBL(0)) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCODE_FIRST(z0, z1) -> c(FIRST(encArg(z0), encArg(z1))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, MARK_1, ENCODE_FIRST_2, 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: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4 ---------------------------------------- (141) 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(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))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1 ---------------------------------------- (143) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1 ---------------------------------------- (145) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: 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))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1 ---------------------------------------- (147) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1 ---------------------------------------- (149) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1 ---------------------------------------- (151) 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(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))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1 ---------------------------------------- (153) 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)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1 ---------------------------------------- (155) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_active(cons_recip(nil))) -> c2(ACTIVE(recip(nil)), ENCARG(cons_recip(nil))) ENCARG(cons_active(cons_recip(0))) -> c2(ACTIVE(recip(0)), ENCARG(cons_recip(0))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1 ---------------------------------------- (157) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_sqr(z0))) -> c2(ACTIVE(sqr(encArg(z0))), ENCARG(cons_sqr(z0))) by ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0)), ENCARG(cons_sqr(0))) ENCARG(cons_active(cons_sqr(nil))) -> c2(ACTIVE(sqr(nil)), ENCARG(cons_sqr(nil))) ENCARG(cons_active(cons_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(0))) -> c2(ACTIVE(sqr(0)), ENCARG(cons_sqr(0))) ENCARG(cons_active(cons_sqr(nil))) -> c2(ACTIVE(sqr(nil)), ENCARG(cons_sqr(nil))) ENCARG(cons_active(cons_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1 ---------------------------------------- (159) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCARG(cons_active(cons_sqr(nil))) -> c2(ACTIVE(sqr(nil)), ENCARG(cons_sqr(nil))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(0))) -> c2(ACTIVE(sqr(0)), ENCARG(cons_sqr(0))) ENCARG(cons_active(cons_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1 ---------------------------------------- (161) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (163) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_s(z0))) -> c2(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) by ENCARG(cons_active(cons_s(0))) -> c2(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(nil))) -> c2(ACTIVE(s(nil)), ENCARG(cons_s(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ---------------------------------------- (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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(0))) -> c2(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(nil))) -> c2(ACTIVE(s(nil)), ENCARG(cons_s(nil))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (165) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_active(cons_s(0))) -> c2(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(nil))) -> c2(ACTIVE(s(nil)), ENCARG(cons_s(nil))) ---------------------------------------- (166) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (167) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_add(z0, z1))) -> c2(ACTIVE(add(encArg(z0), encArg(z1))), ENCARG(cons_add(z0, z1))) by ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ---------------------------------------- (168) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) 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_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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (169) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_dbl(z0))) -> c2(ACTIVE(dbl(encArg(z0))), ENCARG(cons_dbl(z0))) by ENCARG(cons_active(cons_dbl(0))) -> c2(ACTIVE(dbl(0)), ENCARG(cons_dbl(0))) ENCARG(cons_active(cons_dbl(nil))) -> c2(ACTIVE(dbl(nil)), ENCARG(cons_dbl(nil))) ENCARG(cons_active(cons_dbl(cons_active(z0)))) -> c2(ACTIVE(dbl(active(encArg(z0)))), ENCARG(cons_dbl(cons_active(z0)))) ENCARG(cons_active(cons_dbl(cons_mark(z0)))) -> c2(ACTIVE(dbl(mark(encArg(z0)))), ENCARG(cons_dbl(cons_mark(z0)))) ENCARG(cons_active(cons_dbl(cons_terms(z0)))) -> c2(ACTIVE(dbl(terms(encArg(z0)))), ENCARG(cons_dbl(cons_terms(z0)))) ENCARG(cons_active(cons_dbl(cons_cons(z0, z1)))) -> c2(ACTIVE(dbl(cons(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_cons(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_recip(z0)))) -> c2(ACTIVE(dbl(recip(encArg(z0)))), ENCARG(cons_dbl(cons_recip(z0)))) ENCARG(cons_active(cons_dbl(cons_sqr(z0)))) -> c2(ACTIVE(dbl(sqr(encArg(z0)))), ENCARG(cons_dbl(cons_sqr(z0)))) ENCARG(cons_active(cons_dbl(cons_s(z0)))) -> c2(ACTIVE(dbl(s(encArg(z0)))), ENCARG(cons_dbl(cons_s(z0)))) ENCARG(cons_active(cons_dbl(cons_add(z0, z1)))) -> c2(ACTIVE(dbl(add(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_add(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_dbl(z0)))) -> c2(ACTIVE(dbl(dbl(encArg(z0)))), ENCARG(cons_dbl(cons_dbl(z0)))) ENCARG(cons_active(cons_dbl(cons_first(z0, z1)))) -> c2(ACTIVE(dbl(first(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_first(z0, z1)))) ---------------------------------------- (170) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) 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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_dbl(0))) -> c2(ACTIVE(dbl(0)), ENCARG(cons_dbl(0))) ENCARG(cons_active(cons_dbl(nil))) -> c2(ACTIVE(dbl(nil)), ENCARG(cons_dbl(nil))) ENCARG(cons_active(cons_dbl(cons_active(z0)))) -> c2(ACTIVE(dbl(active(encArg(z0)))), ENCARG(cons_dbl(cons_active(z0)))) ENCARG(cons_active(cons_dbl(cons_mark(z0)))) -> c2(ACTIVE(dbl(mark(encArg(z0)))), ENCARG(cons_dbl(cons_mark(z0)))) ENCARG(cons_active(cons_dbl(cons_terms(z0)))) -> c2(ACTIVE(dbl(terms(encArg(z0)))), ENCARG(cons_dbl(cons_terms(z0)))) ENCARG(cons_active(cons_dbl(cons_cons(z0, z1)))) -> c2(ACTIVE(dbl(cons(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_cons(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_recip(z0)))) -> c2(ACTIVE(dbl(recip(encArg(z0)))), ENCARG(cons_dbl(cons_recip(z0)))) ENCARG(cons_active(cons_dbl(cons_sqr(z0)))) -> c2(ACTIVE(dbl(sqr(encArg(z0)))), ENCARG(cons_dbl(cons_sqr(z0)))) ENCARG(cons_active(cons_dbl(cons_s(z0)))) -> c2(ACTIVE(dbl(s(encArg(z0)))), ENCARG(cons_dbl(cons_s(z0)))) ENCARG(cons_active(cons_dbl(cons_add(z0, z1)))) -> c2(ACTIVE(dbl(add(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_add(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_dbl(z0)))) -> c2(ACTIVE(dbl(dbl(encArg(z0)))), ENCARG(cons_dbl(cons_dbl(z0)))) ENCARG(cons_active(cons_dbl(cons_first(z0, z1)))) -> c2(ACTIVE(dbl(first(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (171) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: ENCARG(cons_active(cons_dbl(nil))) -> c2(ACTIVE(dbl(nil)), ENCARG(cons_dbl(nil))) ---------------------------------------- (172) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) 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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_dbl(0))) -> c2(ACTIVE(dbl(0)), ENCARG(cons_dbl(0))) ENCARG(cons_active(cons_dbl(cons_active(z0)))) -> c2(ACTIVE(dbl(active(encArg(z0)))), ENCARG(cons_dbl(cons_active(z0)))) ENCARG(cons_active(cons_dbl(cons_mark(z0)))) -> c2(ACTIVE(dbl(mark(encArg(z0)))), ENCARG(cons_dbl(cons_mark(z0)))) ENCARG(cons_active(cons_dbl(cons_terms(z0)))) -> c2(ACTIVE(dbl(terms(encArg(z0)))), ENCARG(cons_dbl(cons_terms(z0)))) ENCARG(cons_active(cons_dbl(cons_cons(z0, z1)))) -> c2(ACTIVE(dbl(cons(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_cons(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_recip(z0)))) -> c2(ACTIVE(dbl(recip(encArg(z0)))), ENCARG(cons_dbl(cons_recip(z0)))) ENCARG(cons_active(cons_dbl(cons_sqr(z0)))) -> c2(ACTIVE(dbl(sqr(encArg(z0)))), ENCARG(cons_dbl(cons_sqr(z0)))) ENCARG(cons_active(cons_dbl(cons_s(z0)))) -> c2(ACTIVE(dbl(s(encArg(z0)))), ENCARG(cons_dbl(cons_s(z0)))) ENCARG(cons_active(cons_dbl(cons_add(z0, z1)))) -> c2(ACTIVE(dbl(add(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_add(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_dbl(z0)))) -> c2(ACTIVE(dbl(dbl(encArg(z0)))), ENCARG(cons_dbl(cons_dbl(z0)))) ENCARG(cons_active(cons_dbl(cons_first(z0, z1)))) -> c2(ACTIVE(dbl(first(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (173) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (174) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(z0))) ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) 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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_dbl(cons_active(z0)))) -> c2(ACTIVE(dbl(active(encArg(z0)))), ENCARG(cons_dbl(cons_active(z0)))) ENCARG(cons_active(cons_dbl(cons_mark(z0)))) -> c2(ACTIVE(dbl(mark(encArg(z0)))), ENCARG(cons_dbl(cons_mark(z0)))) ENCARG(cons_active(cons_dbl(cons_terms(z0)))) -> c2(ACTIVE(dbl(terms(encArg(z0)))), ENCARG(cons_dbl(cons_terms(z0)))) ENCARG(cons_active(cons_dbl(cons_cons(z0, z1)))) -> c2(ACTIVE(dbl(cons(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_cons(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_recip(z0)))) -> c2(ACTIVE(dbl(recip(encArg(z0)))), ENCARG(cons_dbl(cons_recip(z0)))) ENCARG(cons_active(cons_dbl(cons_sqr(z0)))) -> c2(ACTIVE(dbl(sqr(encArg(z0)))), ENCARG(cons_dbl(cons_sqr(z0)))) ENCARG(cons_active(cons_dbl(cons_s(z0)))) -> c2(ACTIVE(dbl(s(encArg(z0)))), ENCARG(cons_dbl(cons_s(z0)))) ENCARG(cons_active(cons_dbl(cons_add(z0, z1)))) -> c2(ACTIVE(dbl(add(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_add(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_dbl(z0)))) -> c2(ACTIVE(dbl(dbl(encArg(z0)))), ENCARG(cons_dbl(cons_dbl(z0)))) ENCARG(cons_active(cons_dbl(cons_first(z0, z1)))) -> c2(ACTIVE(dbl(first(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_first(z0, z1)))) ENCARG(cons_active(cons_dbl(0))) -> c2(ACTIVE(dbl(0))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (175) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_first(z0, z1))) -> c2(ACTIVE(first(encArg(z0), encArg(z1))), ENCARG(cons_first(z0, z1))) by ENCARG(cons_active(cons_first(x0, 0))) -> c2(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c2(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c2(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c2(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_terms(z0)))) -> c2(ACTIVE(first(encArg(x0), terms(encArg(z0)))), ENCARG(cons_first(x0, cons_terms(z0)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_recip(z0)))) -> c2(ACTIVE(first(encArg(x0), recip(encArg(z0)))), ENCARG(cons_first(x0, cons_recip(z0)))) ENCARG(cons_active(cons_first(x0, cons_sqr(z0)))) -> c2(ACTIVE(first(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_first(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c2(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_dbl(z0)))) -> c2(ACTIVE(first(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_first(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(0, x1))) -> c2(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c2(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c2(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c2(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_terms(z0), x1))) -> c2(ACTIVE(first(terms(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_terms(z0), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c2(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_recip(z0), x1))) -> c2(ACTIVE(first(recip(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_recip(z0), x1))) ENCARG(cons_active(cons_first(cons_sqr(z0), x1))) -> c2(ACTIVE(first(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_sqr(z0), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c2(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c2(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_dbl(z0), x1))) -> c2(ACTIVE(first(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_dbl(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c2(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ---------------------------------------- (176) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_dbl(cons_active(z0)))) -> c2(ACTIVE(dbl(active(encArg(z0)))), ENCARG(cons_dbl(cons_active(z0)))) ENCARG(cons_active(cons_dbl(cons_mark(z0)))) -> c2(ACTIVE(dbl(mark(encArg(z0)))), ENCARG(cons_dbl(cons_mark(z0)))) ENCARG(cons_active(cons_dbl(cons_terms(z0)))) -> c2(ACTIVE(dbl(terms(encArg(z0)))), ENCARG(cons_dbl(cons_terms(z0)))) ENCARG(cons_active(cons_dbl(cons_cons(z0, z1)))) -> c2(ACTIVE(dbl(cons(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_cons(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_recip(z0)))) -> c2(ACTIVE(dbl(recip(encArg(z0)))), ENCARG(cons_dbl(cons_recip(z0)))) ENCARG(cons_active(cons_dbl(cons_sqr(z0)))) -> c2(ACTIVE(dbl(sqr(encArg(z0)))), ENCARG(cons_dbl(cons_sqr(z0)))) ENCARG(cons_active(cons_dbl(cons_s(z0)))) -> c2(ACTIVE(dbl(s(encArg(z0)))), ENCARG(cons_dbl(cons_s(z0)))) ENCARG(cons_active(cons_dbl(cons_add(z0, z1)))) -> c2(ACTIVE(dbl(add(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_add(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_dbl(z0)))) -> c2(ACTIVE(dbl(dbl(encArg(z0)))), ENCARG(cons_dbl(cons_dbl(z0)))) ENCARG(cons_active(cons_dbl(cons_first(z0, z1)))) -> c2(ACTIVE(dbl(first(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_first(z0, z1)))) ENCARG(cons_active(cons_dbl(0))) -> c2(ACTIVE(dbl(0))) ENCARG(cons_active(cons_first(x0, 0))) -> c2(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c2(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c2(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c2(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_terms(z0)))) -> c2(ACTIVE(first(encArg(x0), terms(encArg(z0)))), ENCARG(cons_first(x0, cons_terms(z0)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_recip(z0)))) -> c2(ACTIVE(first(encArg(x0), recip(encArg(z0)))), ENCARG(cons_first(x0, cons_recip(z0)))) ENCARG(cons_active(cons_first(x0, cons_sqr(z0)))) -> c2(ACTIVE(first(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_first(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c2(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_dbl(z0)))) -> c2(ACTIVE(first(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_first(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(0, x1))) -> c2(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c2(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c2(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c2(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_terms(z0), x1))) -> c2(ACTIVE(first(terms(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_terms(z0), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c2(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_recip(z0), x1))) -> c2(ACTIVE(first(recip(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_recip(z0), x1))) ENCARG(cons_active(cons_first(cons_sqr(z0), x1))) -> c2(ACTIVE(first(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_sqr(z0), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c2(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c2(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_dbl(z0), x1))) -> c2(ACTIVE(first(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_dbl(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c2(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (177) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(cons_active(z0))) -> c3(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) by ENCARG(cons_mark(cons_active(0))) -> c3(MARK(active(0)), ENCARG(cons_active(0))) ENCARG(cons_mark(cons_active(nil))) -> c3(MARK(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c3(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c3(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_terms(z0)))) -> c3(MARK(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c3(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_recip(z0)))) -> c3(MARK(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_mark(cons_active(cons_sqr(z0)))) -> c3(MARK(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c3(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c3(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_mark(cons_active(cons_dbl(z0)))) -> c3(MARK(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_mark(cons_active(cons_first(z0, z1)))) -> c3(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) ---------------------------------------- (178) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_dbl(cons_active(z0)))) -> c2(ACTIVE(dbl(active(encArg(z0)))), ENCARG(cons_dbl(cons_active(z0)))) ENCARG(cons_active(cons_dbl(cons_mark(z0)))) -> c2(ACTIVE(dbl(mark(encArg(z0)))), ENCARG(cons_dbl(cons_mark(z0)))) ENCARG(cons_active(cons_dbl(cons_terms(z0)))) -> c2(ACTIVE(dbl(terms(encArg(z0)))), ENCARG(cons_dbl(cons_terms(z0)))) ENCARG(cons_active(cons_dbl(cons_cons(z0, z1)))) -> c2(ACTIVE(dbl(cons(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_cons(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_recip(z0)))) -> c2(ACTIVE(dbl(recip(encArg(z0)))), ENCARG(cons_dbl(cons_recip(z0)))) ENCARG(cons_active(cons_dbl(cons_sqr(z0)))) -> c2(ACTIVE(dbl(sqr(encArg(z0)))), ENCARG(cons_dbl(cons_sqr(z0)))) ENCARG(cons_active(cons_dbl(cons_s(z0)))) -> c2(ACTIVE(dbl(s(encArg(z0)))), ENCARG(cons_dbl(cons_s(z0)))) ENCARG(cons_active(cons_dbl(cons_add(z0, z1)))) -> c2(ACTIVE(dbl(add(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_add(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_dbl(z0)))) -> c2(ACTIVE(dbl(dbl(encArg(z0)))), ENCARG(cons_dbl(cons_dbl(z0)))) ENCARG(cons_active(cons_dbl(cons_first(z0, z1)))) -> c2(ACTIVE(dbl(first(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_first(z0, z1)))) ENCARG(cons_active(cons_dbl(0))) -> c2(ACTIVE(dbl(0))) ENCARG(cons_active(cons_first(x0, 0))) -> c2(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c2(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c2(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c2(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_terms(z0)))) -> c2(ACTIVE(first(encArg(x0), terms(encArg(z0)))), ENCARG(cons_first(x0, cons_terms(z0)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_recip(z0)))) -> c2(ACTIVE(first(encArg(x0), recip(encArg(z0)))), ENCARG(cons_first(x0, cons_recip(z0)))) ENCARG(cons_active(cons_first(x0, cons_sqr(z0)))) -> c2(ACTIVE(first(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_first(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c2(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_dbl(z0)))) -> c2(ACTIVE(first(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_first(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(0, x1))) -> c2(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c2(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c2(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c2(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_terms(z0), x1))) -> c2(ACTIVE(first(terms(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_terms(z0), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c2(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_recip(z0), x1))) -> c2(ACTIVE(first(recip(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_recip(z0), x1))) ENCARG(cons_active(cons_first(cons_sqr(z0), x1))) -> c2(ACTIVE(first(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_sqr(z0), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c2(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c2(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_dbl(z0), x1))) -> c2(ACTIVE(first(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_dbl(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c2(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_mark(cons_active(0))) -> c3(MARK(active(0)), ENCARG(cons_active(0))) ENCARG(cons_mark(cons_active(nil))) -> c3(MARK(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c3(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c3(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_terms(z0)))) -> c3(MARK(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c3(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_recip(z0)))) -> c3(MARK(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_mark(cons_active(cons_sqr(z0)))) -> c3(MARK(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c3(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c3(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_mark(cons_active(cons_dbl(z0)))) -> c3(MARK(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_mark(cons_active(cons_first(z0, z1)))) -> c3(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1 ---------------------------------------- (179) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_mark(cons_active(nil))) -> c3(MARK(active(nil)), ENCARG(cons_active(nil))) ENCARG(cons_mark(cons_active(0))) -> c3(MARK(active(0)), ENCARG(cons_active(0))) ---------------------------------------- (180) 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)) 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))) 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) 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) Tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 ENCARG(cons_active(cons_terms(z0))) -> c2(ACTIVE(terms(encArg(z0))), ENCARG(cons_terms(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(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_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(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(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_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_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_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(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(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_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(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(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)) MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_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_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_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_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(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_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_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_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_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(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_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_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(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))) 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_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(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(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_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_sqr(cons_active(z0)))) -> c2(ACTIVE(sqr(active(encArg(z0)))), ENCARG(cons_sqr(cons_active(z0)))) ENCARG(cons_active(cons_sqr(cons_mark(z0)))) -> c2(ACTIVE(sqr(mark(encArg(z0)))), ENCARG(cons_sqr(cons_mark(z0)))) ENCARG(cons_active(cons_sqr(cons_terms(z0)))) -> c2(ACTIVE(sqr(terms(encArg(z0)))), ENCARG(cons_sqr(cons_terms(z0)))) ENCARG(cons_active(cons_sqr(cons_cons(z0, z1)))) -> c2(ACTIVE(sqr(cons(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_cons(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_recip(z0)))) -> c2(ACTIVE(sqr(recip(encArg(z0)))), ENCARG(cons_sqr(cons_recip(z0)))) ENCARG(cons_active(cons_sqr(cons_sqr(z0)))) -> c2(ACTIVE(sqr(sqr(encArg(z0)))), ENCARG(cons_sqr(cons_sqr(z0)))) ENCARG(cons_active(cons_sqr(cons_s(z0)))) -> c2(ACTIVE(sqr(s(encArg(z0)))), ENCARG(cons_sqr(cons_s(z0)))) ENCARG(cons_active(cons_sqr(cons_add(z0, z1)))) -> c2(ACTIVE(sqr(add(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_add(z0, z1)))) ENCARG(cons_active(cons_sqr(cons_dbl(z0)))) -> c2(ACTIVE(sqr(dbl(encArg(z0)))), ENCARG(cons_sqr(cons_dbl(z0)))) ENCARG(cons_active(cons_sqr(cons_first(z0, z1)))) -> c2(ACTIVE(sqr(first(encArg(z0), encArg(z1)))), ENCARG(cons_sqr(cons_first(z0, z1)))) ENCARG(cons_active(cons_sqr(0))) -> c2(ACTIVE(sqr(0))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c2(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c2(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_terms(z0)))) -> c2(ACTIVE(s(terms(encArg(z0)))), ENCARG(cons_s(cons_terms(z0)))) ENCARG(cons_active(cons_s(cons_cons(z0, z1)))) -> c2(ACTIVE(s(cons(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_cons(z0, z1)))) ENCARG(cons_active(cons_s(cons_recip(z0)))) -> c2(ACTIVE(s(recip(encArg(z0)))), ENCARG(cons_s(cons_recip(z0)))) ENCARG(cons_active(cons_s(cons_sqr(z0)))) -> c2(ACTIVE(s(sqr(encArg(z0)))), ENCARG(cons_s(cons_sqr(z0)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c2(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_add(z0, z1)))) -> c2(ACTIVE(s(add(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_add(z0, z1)))) ENCARG(cons_active(cons_s(cons_dbl(z0)))) -> c2(ACTIVE(s(dbl(encArg(z0)))), ENCARG(cons_s(cons_dbl(z0)))) ENCARG(cons_active(cons_s(cons_first(z0, z1)))) -> c2(ACTIVE(s(first(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_first(z0, z1)))) ENCARG(cons_active(cons_add(x0, 0))) -> c2(ACTIVE(add(encArg(x0), 0)), ENCARG(cons_add(x0, 0))) ENCARG(cons_active(cons_add(x0, nil))) -> c2(ACTIVE(add(encArg(x0), nil)), ENCARG(cons_add(x0, nil))) ENCARG(cons_active(cons_add(x0, cons_active(z0)))) -> c2(ACTIVE(add(encArg(x0), active(encArg(z0)))), ENCARG(cons_add(x0, cons_active(z0)))) ENCARG(cons_active(cons_add(x0, cons_mark(z0)))) -> c2(ACTIVE(add(encArg(x0), mark(encArg(z0)))), ENCARG(cons_add(x0, cons_mark(z0)))) ENCARG(cons_active(cons_add(x0, cons_terms(z0)))) -> c2(ACTIVE(add(encArg(x0), terms(encArg(z0)))), ENCARG(cons_add(x0, cons_terms(z0)))) ENCARG(cons_active(cons_add(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_recip(z0)))) -> c2(ACTIVE(add(encArg(x0), recip(encArg(z0)))), ENCARG(cons_add(x0, cons_recip(z0)))) ENCARG(cons_active(cons_add(x0, cons_sqr(z0)))) -> c2(ACTIVE(add(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_add(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_add(x0, cons_s(z0)))) -> c2(ACTIVE(add(encArg(x0), s(encArg(z0)))), ENCARG(cons_add(x0, cons_s(z0)))) ENCARG(cons_active(cons_add(x0, cons_add(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_add(x0, cons_dbl(z0)))) -> c2(ACTIVE(add(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_add(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_add(x0, cons_first(z0, z1)))) -> c2(ACTIVE(add(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_add(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_add(0, x1))) -> c2(ACTIVE(add(0, encArg(x1))), ENCARG(cons_add(0, x1))) ENCARG(cons_active(cons_add(nil, x1))) -> c2(ACTIVE(add(nil, encArg(x1))), ENCARG(cons_add(nil, x1))) ENCARG(cons_active(cons_add(cons_active(z0), x1))) -> c2(ACTIVE(add(active(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_active(z0), x1))) ENCARG(cons_active(cons_add(cons_mark(z0), x1))) -> c2(ACTIVE(add(mark(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_mark(z0), x1))) ENCARG(cons_active(cons_add(cons_terms(z0), x1))) -> c2(ACTIVE(add(terms(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_terms(z0), x1))) ENCARG(cons_active(cons_add(cons_cons(z0, z1), x1))) -> c2(ACTIVE(add(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_recip(z0), x1))) -> c2(ACTIVE(add(recip(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_recip(z0), x1))) ENCARG(cons_active(cons_add(cons_sqr(z0), x1))) -> c2(ACTIVE(add(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_sqr(z0), x1))) ENCARG(cons_active(cons_add(cons_s(z0), x1))) -> c2(ACTIVE(add(s(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_s(z0), x1))) ENCARG(cons_active(cons_add(cons_add(z0, z1), x1))) -> c2(ACTIVE(add(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_add(cons_dbl(z0), x1))) -> c2(ACTIVE(add(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_add(cons_dbl(z0), x1))) ENCARG(cons_active(cons_add(cons_first(z0, z1), x1))) -> c2(ACTIVE(add(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_add(cons_first(z0, z1), x1))) ENCARG(cons_active(cons_dbl(cons_active(z0)))) -> c2(ACTIVE(dbl(active(encArg(z0)))), ENCARG(cons_dbl(cons_active(z0)))) ENCARG(cons_active(cons_dbl(cons_mark(z0)))) -> c2(ACTIVE(dbl(mark(encArg(z0)))), ENCARG(cons_dbl(cons_mark(z0)))) ENCARG(cons_active(cons_dbl(cons_terms(z0)))) -> c2(ACTIVE(dbl(terms(encArg(z0)))), ENCARG(cons_dbl(cons_terms(z0)))) ENCARG(cons_active(cons_dbl(cons_cons(z0, z1)))) -> c2(ACTIVE(dbl(cons(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_cons(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_recip(z0)))) -> c2(ACTIVE(dbl(recip(encArg(z0)))), ENCARG(cons_dbl(cons_recip(z0)))) ENCARG(cons_active(cons_dbl(cons_sqr(z0)))) -> c2(ACTIVE(dbl(sqr(encArg(z0)))), ENCARG(cons_dbl(cons_sqr(z0)))) ENCARG(cons_active(cons_dbl(cons_s(z0)))) -> c2(ACTIVE(dbl(s(encArg(z0)))), ENCARG(cons_dbl(cons_s(z0)))) ENCARG(cons_active(cons_dbl(cons_add(z0, z1)))) -> c2(ACTIVE(dbl(add(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_add(z0, z1)))) ENCARG(cons_active(cons_dbl(cons_dbl(z0)))) -> c2(ACTIVE(dbl(dbl(encArg(z0)))), ENCARG(cons_dbl(cons_dbl(z0)))) ENCARG(cons_active(cons_dbl(cons_first(z0, z1)))) -> c2(ACTIVE(dbl(first(encArg(z0), encArg(z1)))), ENCARG(cons_dbl(cons_first(z0, z1)))) ENCARG(cons_active(cons_dbl(0))) -> c2(ACTIVE(dbl(0))) ENCARG(cons_active(cons_first(x0, 0))) -> c2(ACTIVE(first(encArg(x0), 0)), ENCARG(cons_first(x0, 0))) ENCARG(cons_active(cons_first(x0, nil))) -> c2(ACTIVE(first(encArg(x0), nil)), ENCARG(cons_first(x0, nil))) ENCARG(cons_active(cons_first(x0, cons_active(z0)))) -> c2(ACTIVE(first(encArg(x0), active(encArg(z0)))), ENCARG(cons_first(x0, cons_active(z0)))) ENCARG(cons_active(cons_first(x0, cons_mark(z0)))) -> c2(ACTIVE(first(encArg(x0), mark(encArg(z0)))), ENCARG(cons_first(x0, cons_mark(z0)))) ENCARG(cons_active(cons_first(x0, cons_terms(z0)))) -> c2(ACTIVE(first(encArg(x0), terms(encArg(z0)))), ENCARG(cons_first(x0, cons_terms(z0)))) ENCARG(cons_active(cons_first(x0, cons_cons(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), cons(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_cons(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_recip(z0)))) -> c2(ACTIVE(first(encArg(x0), recip(encArg(z0)))), ENCARG(cons_first(x0, cons_recip(z0)))) ENCARG(cons_active(cons_first(x0, cons_sqr(z0)))) -> c2(ACTIVE(first(encArg(x0), sqr(encArg(z0)))), ENCARG(cons_first(x0, cons_sqr(z0)))) ENCARG(cons_active(cons_first(x0, cons_s(z0)))) -> c2(ACTIVE(first(encArg(x0), s(encArg(z0)))), ENCARG(cons_first(x0, cons_s(z0)))) ENCARG(cons_active(cons_first(x0, cons_add(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), add(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_add(z0, z1)))) ENCARG(cons_active(cons_first(x0, cons_dbl(z0)))) -> c2(ACTIVE(first(encArg(x0), dbl(encArg(z0)))), ENCARG(cons_first(x0, cons_dbl(z0)))) ENCARG(cons_active(cons_first(x0, cons_first(z0, z1)))) -> c2(ACTIVE(first(encArg(x0), first(encArg(z0), encArg(z1)))), ENCARG(cons_first(x0, cons_first(z0, z1)))) ENCARG(cons_active(cons_first(0, x1))) -> c2(ACTIVE(first(0, encArg(x1))), ENCARG(cons_first(0, x1))) ENCARG(cons_active(cons_first(nil, x1))) -> c2(ACTIVE(first(nil, encArg(x1))), ENCARG(cons_first(nil, x1))) ENCARG(cons_active(cons_first(cons_active(z0), x1))) -> c2(ACTIVE(first(active(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_active(z0), x1))) ENCARG(cons_active(cons_first(cons_mark(z0), x1))) -> c2(ACTIVE(first(mark(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_mark(z0), x1))) ENCARG(cons_active(cons_first(cons_terms(z0), x1))) -> c2(ACTIVE(first(terms(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_terms(z0), x1))) ENCARG(cons_active(cons_first(cons_cons(z0, z1), x1))) -> c2(ACTIVE(first(cons(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_cons(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_recip(z0), x1))) -> c2(ACTIVE(first(recip(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_recip(z0), x1))) ENCARG(cons_active(cons_first(cons_sqr(z0), x1))) -> c2(ACTIVE(first(sqr(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_sqr(z0), x1))) ENCARG(cons_active(cons_first(cons_s(z0), x1))) -> c2(ACTIVE(first(s(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_s(z0), x1))) ENCARG(cons_active(cons_first(cons_add(z0, z1), x1))) -> c2(ACTIVE(first(add(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_add(z0, z1), x1))) ENCARG(cons_active(cons_first(cons_dbl(z0), x1))) -> c2(ACTIVE(first(dbl(encArg(z0)), encArg(x1))), ENCARG(cons_first(cons_dbl(z0), x1))) ENCARG(cons_active(cons_first(cons_first(z0, z1), x1))) -> c2(ACTIVE(first(first(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_first(cons_first(z0, z1), x1))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c3(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c3(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_terms(z0)))) -> c3(MARK(active(terms(encArg(z0)))), ENCARG(cons_active(cons_terms(z0)))) ENCARG(cons_mark(cons_active(cons_cons(z0, z1)))) -> c3(MARK(active(cons(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_cons(z0, z1)))) ENCARG(cons_mark(cons_active(cons_recip(z0)))) -> c3(MARK(active(recip(encArg(z0)))), ENCARG(cons_active(cons_recip(z0)))) ENCARG(cons_mark(cons_active(cons_sqr(z0)))) -> c3(MARK(active(sqr(encArg(z0)))), ENCARG(cons_active(cons_sqr(z0)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c3(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_add(z0, z1)))) -> c3(MARK(active(add(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_add(z0, z1)))) ENCARG(cons_mark(cons_active(cons_dbl(z0)))) -> c3(MARK(active(dbl(encArg(z0)))), ENCARG(cons_active(cons_dbl(z0)))) ENCARG(cons_mark(cons_active(cons_first(z0, z1)))) -> c3(MARK(active(first(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_first(z0, z1)))) S tuples: ACTIVE(sqr(0)) -> c25(MARK(0)) ACTIVE(dbl(0)) -> c27(MARK(0)) ACTIVE(add(0, z0)) -> c29(MARK(z0)) ACTIVE(first(0, z0)) -> c31(MARK(nil)) ACTIVE(first(s(z0), cons(z1, z2))) -> c32(MARK(cons(z1, first(z0, z2))), CONS(z1, first(z0, z2)), FIRST(z0, z2)) TERMS(mark(z0)) -> c43(TERMS(z0)) TERMS(active(z0)) -> c44(TERMS(z0)) CONS(mark(z0), z1) -> c45(CONS(z0, z1)) CONS(z0, mark(z1)) -> c46(CONS(z0, z1)) CONS(active(z0), z1) -> c47(CONS(z0, z1)) CONS(z0, active(z1)) -> c48(CONS(z0, z1)) RECIP(mark(z0)) -> c49(RECIP(z0)) RECIP(active(z0)) -> c50(RECIP(z0)) SQR(mark(z0)) -> c51(SQR(z0)) SQR(active(z0)) -> c52(SQR(z0)) S(mark(z0)) -> c53(S(z0)) S(active(z0)) -> c54(S(z0)) ADD(mark(z0), z1) -> c55(ADD(z0, z1)) ADD(z0, mark(z1)) -> c56(ADD(z0, z1)) ADD(active(z0), z1) -> c57(ADD(z0, z1)) ADD(z0, active(z1)) -> c58(ADD(z0, z1)) DBL(mark(z0)) -> c59(DBL(z0)) DBL(active(z0)) -> c60(DBL(z0)) FIRST(mark(z0), z1) -> c61(FIRST(z0, z1)) FIRST(z0, mark(z1)) -> c62(FIRST(z0, z1)) FIRST(active(z0), z1) -> c63(FIRST(z0, z1)) FIRST(z0, active(z1)) -> c64(FIRST(z0, z1)) ACTIVE(terms(z0)) -> c24(MARK(cons(recip(sqr(z0)), terms(s(z0)))), SQR(z0), S(z0)) ACTIVE(sqr(s(z0))) -> c26(MARK(s(add(sqr(z0), dbl(z0)))), SQR(z0), DBL(z0)) ACTIVE(dbl(s(z0))) -> c28(MARK(s(s(dbl(z0)))), DBL(z0)) ACTIVE(add(s(z0), z1)) -> c30(MARK(s(add(z0, z1))), ADD(z0, z1)) MARK(0) -> c38 MARK(nil) -> c42 MARK(terms(z0)) -> c33(ACTIVE(terms(z0)), TERMS(mark(z0)), MARK(z0)) MARK(terms(terms(z0))) -> c33(ACTIVE(terms(active(terms(mark(z0))))), TERMS(mark(terms(z0))), MARK(terms(z0))) MARK(terms(cons(z0, z1))) -> c33(ACTIVE(terms(active(cons(mark(z0), z1)))), TERMS(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(terms(recip(z0))) -> c33(ACTIVE(terms(active(recip(mark(z0))))), TERMS(mark(recip(z0))), MARK(recip(z0))) MARK(terms(sqr(z0))) -> c33(ACTIVE(terms(active(sqr(mark(z0))))), TERMS(mark(sqr(z0))), MARK(sqr(z0))) MARK(terms(s(z0))) -> c33(ACTIVE(terms(active(s(mark(z0))))), TERMS(mark(s(z0))), MARK(s(z0))) MARK(terms(0)) -> c33(ACTIVE(terms(active(0))), TERMS(mark(0)), MARK(0)) MARK(terms(add(z0, z1))) -> c33(ACTIVE(terms(active(add(mark(z0), mark(z1))))), TERMS(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(terms(dbl(z0))) -> c33(ACTIVE(terms(active(dbl(mark(z0))))), TERMS(mark(dbl(z0))), MARK(dbl(z0))) MARK(terms(first(z0, z1))) -> c33(ACTIVE(terms(active(first(mark(z0), mark(z1))))), TERMS(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(terms(nil)) -> c33(ACTIVE(terms(active(nil))), TERMS(mark(nil)), MARK(nil)) MARK(cons(terms(z0), x1)) -> c34(ACTIVE(cons(active(terms(mark(z0))), x1)), CONS(mark(terms(z0)), x1), MARK(terms(z0))) MARK(cons(cons(z0, z1), x1)) -> c34(ACTIVE(cons(active(cons(mark(z0), z1)), x1)), CONS(mark(cons(z0, z1)), x1), MARK(cons(z0, z1))) MARK(cons(recip(z0), x1)) -> c34(ACTIVE(cons(active(recip(mark(z0))), x1)), CONS(mark(recip(z0)), x1), MARK(recip(z0))) MARK(cons(sqr(z0), x1)) -> c34(ACTIVE(cons(active(sqr(mark(z0))), x1)), CONS(mark(sqr(z0)), x1), MARK(sqr(z0))) MARK(cons(s(z0), x1)) -> c34(ACTIVE(cons(active(s(mark(z0))), x1)), CONS(mark(s(z0)), x1), MARK(s(z0))) MARK(cons(0, x1)) -> c34(ACTIVE(cons(active(0), x1)), CONS(mark(0), x1), MARK(0)) MARK(cons(add(z0, z1), x1)) -> c34(ACTIVE(cons(active(add(mark(z0), mark(z1))), x1)), CONS(mark(add(z0, z1)), x1), MARK(add(z0, z1))) MARK(cons(dbl(z0), x1)) -> c34(ACTIVE(cons(active(dbl(mark(z0))), x1)), CONS(mark(dbl(z0)), x1), MARK(dbl(z0))) MARK(cons(first(z0, z1), x1)) -> c34(ACTIVE(cons(active(first(mark(z0), mark(z1))), x1)), CONS(mark(first(z0, z1)), x1), MARK(first(z0, z1))) MARK(cons(nil, x1)) -> c34(ACTIVE(cons(active(nil), x1)), CONS(mark(nil), x1), MARK(nil)) MARK(cons(x0, x1)) -> c34(CONS(mark(x0), x1)) MARK(cons(z0, z1)) -> c34(CONS(mark(z0), z1), MARK(z0)) MARK(recip(terms(z0))) -> c35(ACTIVE(recip(active(terms(mark(z0))))), RECIP(mark(terms(z0))), MARK(terms(z0))) MARK(recip(cons(z0, z1))) -> c35(ACTIVE(recip(active(cons(mark(z0), z1)))), RECIP(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(recip(recip(z0))) -> c35(ACTIVE(recip(active(recip(mark(z0))))), RECIP(mark(recip(z0))), MARK(recip(z0))) MARK(recip(sqr(z0))) -> c35(ACTIVE(recip(active(sqr(mark(z0))))), RECIP(mark(sqr(z0))), MARK(sqr(z0))) MARK(recip(s(z0))) -> c35(ACTIVE(recip(active(s(mark(z0))))), RECIP(mark(s(z0))), MARK(s(z0))) MARK(recip(0)) -> c35(ACTIVE(recip(active(0))), RECIP(mark(0)), MARK(0)) MARK(recip(add(z0, z1))) -> c35(ACTIVE(recip(active(add(mark(z0), mark(z1))))), RECIP(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(recip(dbl(z0))) -> c35(ACTIVE(recip(active(dbl(mark(z0))))), RECIP(mark(dbl(z0))), MARK(dbl(z0))) MARK(recip(first(z0, z1))) -> c35(ACTIVE(recip(active(first(mark(z0), mark(z1))))), RECIP(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(recip(nil)) -> c35(ACTIVE(recip(active(nil))), RECIP(mark(nil)), MARK(nil)) MARK(recip(z0)) -> c35(RECIP(mark(z0)), MARK(z0)) MARK(sqr(z0)) -> c36(ACTIVE(sqr(z0)), SQR(mark(z0)), MARK(z0)) MARK(sqr(terms(z0))) -> c36(ACTIVE(sqr(active(terms(mark(z0))))), SQR(mark(terms(z0))), MARK(terms(z0))) MARK(sqr(cons(z0, z1))) -> c36(ACTIVE(sqr(active(cons(mark(z0), z1)))), SQR(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(sqr(recip(z0))) -> c36(ACTIVE(sqr(active(recip(mark(z0))))), SQR(mark(recip(z0))), MARK(recip(z0))) MARK(sqr(sqr(z0))) -> c36(ACTIVE(sqr(active(sqr(mark(z0))))), SQR(mark(sqr(z0))), MARK(sqr(z0))) MARK(sqr(s(z0))) -> c36(ACTIVE(sqr(active(s(mark(z0))))), SQR(mark(s(z0))), MARK(s(z0))) MARK(sqr(0)) -> c36(ACTIVE(sqr(active(0))), SQR(mark(0)), MARK(0)) MARK(sqr(add(z0, z1))) -> c36(ACTIVE(sqr(active(add(mark(z0), mark(z1))))), SQR(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(sqr(dbl(z0))) -> c36(ACTIVE(sqr(active(dbl(mark(z0))))), SQR(mark(dbl(z0))), MARK(dbl(z0))) MARK(sqr(first(z0, z1))) -> c36(ACTIVE(sqr(active(first(mark(z0), mark(z1))))), SQR(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(sqr(nil)) -> c36(ACTIVE(sqr(active(nil))), SQR(mark(nil)), MARK(nil)) MARK(s(terms(z0))) -> c37(ACTIVE(s(active(terms(mark(z0))))), S(mark(terms(z0))), MARK(terms(z0))) MARK(s(cons(z0, z1))) -> c37(ACTIVE(s(active(cons(mark(z0), z1)))), S(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(s(recip(z0))) -> c37(ACTIVE(s(active(recip(mark(z0))))), S(mark(recip(z0))), MARK(recip(z0))) MARK(s(sqr(z0))) -> c37(ACTIVE(s(active(sqr(mark(z0))))), S(mark(sqr(z0))), MARK(sqr(z0))) MARK(s(s(z0))) -> c37(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(0)) -> c37(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(add(z0, z1))) -> c37(ACTIVE(s(active(add(mark(z0), mark(z1))))), S(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(s(dbl(z0))) -> c37(ACTIVE(s(active(dbl(mark(z0))))), S(mark(dbl(z0))), MARK(dbl(z0))) MARK(s(first(z0, z1))) -> c37(ACTIVE(s(active(first(mark(z0), mark(z1))))), S(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(s(nil)) -> c37(ACTIVE(s(active(nil))), S(mark(nil)), MARK(nil)) MARK(s(z0)) -> c37(S(mark(z0)), MARK(z0)) MARK(add(z0, x1)) -> c39(ACTIVE(add(z0, mark(x1))), ADD(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(add(x0, z1)) -> c39(ACTIVE(add(mark(x0), z1)), ADD(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(add(x0, terms(z0))) -> c39(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))) -> c39(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))) -> c39(ACTIVE(add(mark(x0), active(recip(mark(z0))))), ADD(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(add(x0, sqr(z0))) -> c39(ACTIVE(add(mark(x0), active(sqr(mark(z0))))), ADD(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(add(x0, s(z0))) -> c39(ACTIVE(add(mark(x0), active(s(mark(z0))))), ADD(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(add(x0, 0)) -> c39(ACTIVE(add(mark(x0), active(0))), ADD(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(add(x0, add(z0, z1))) -> c39(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))) -> c39(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))) -> c39(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)) -> c39(ACTIVE(add(mark(x0), active(nil))), ADD(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(add(terms(z0), x1)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(recip(mark(z0))), mark(x1))), ADD(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(add(sqr(z0), x1)) -> c39(ACTIVE(add(active(sqr(mark(z0))), mark(x1))), ADD(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(add(s(z0), x1)) -> c39(ACTIVE(add(active(s(mark(z0))), mark(x1))), ADD(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(add(0, x1)) -> c39(ACTIVE(add(active(0), mark(x1))), ADD(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(add(add(z0, z1), x1)) -> c39(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)) -> c39(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)) -> c39(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)) -> c39(ACTIVE(add(active(nil), mark(x1))), ADD(mark(nil), mark(x1)), MARK(nil), MARK(x1)) MARK(dbl(z0)) -> c40(ACTIVE(dbl(z0)), DBL(mark(z0)), MARK(z0)) MARK(dbl(terms(z0))) -> c40(ACTIVE(dbl(active(terms(mark(z0))))), DBL(mark(terms(z0))), MARK(terms(z0))) MARK(dbl(cons(z0, z1))) -> c40(ACTIVE(dbl(active(cons(mark(z0), z1)))), DBL(mark(cons(z0, z1))), MARK(cons(z0, z1))) MARK(dbl(recip(z0))) -> c40(ACTIVE(dbl(active(recip(mark(z0))))), DBL(mark(recip(z0))), MARK(recip(z0))) MARK(dbl(sqr(z0))) -> c40(ACTIVE(dbl(active(sqr(mark(z0))))), DBL(mark(sqr(z0))), MARK(sqr(z0))) MARK(dbl(s(z0))) -> c40(ACTIVE(dbl(active(s(mark(z0))))), DBL(mark(s(z0))), MARK(s(z0))) MARK(dbl(0)) -> c40(ACTIVE(dbl(active(0))), DBL(mark(0)), MARK(0)) MARK(dbl(add(z0, z1))) -> c40(ACTIVE(dbl(active(add(mark(z0), mark(z1))))), DBL(mark(add(z0, z1))), MARK(add(z0, z1))) MARK(dbl(dbl(z0))) -> c40(ACTIVE(dbl(active(dbl(mark(z0))))), DBL(mark(dbl(z0))), MARK(dbl(z0))) MARK(dbl(first(z0, z1))) -> c40(ACTIVE(dbl(active(first(mark(z0), mark(z1))))), DBL(mark(first(z0, z1))), MARK(first(z0, z1))) MARK(dbl(nil)) -> c40(ACTIVE(dbl(active(nil))), DBL(mark(nil)), MARK(nil)) MARK(first(z0, x1)) -> c41(ACTIVE(first(z0, mark(x1))), FIRST(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(first(x0, z1)) -> c41(ACTIVE(first(mark(x0), z1)), FIRST(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(first(x0, terms(z0))) -> c41(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))) -> c41(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))) -> c41(ACTIVE(first(mark(x0), active(recip(mark(z0))))), FIRST(mark(x0), mark(recip(z0))), MARK(x0), MARK(recip(z0))) MARK(first(x0, sqr(z0))) -> c41(ACTIVE(first(mark(x0), active(sqr(mark(z0))))), FIRST(mark(x0), mark(sqr(z0))), MARK(x0), MARK(sqr(z0))) MARK(first(x0, s(z0))) -> c41(ACTIVE(first(mark(x0), active(s(mark(z0))))), FIRST(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(first(x0, 0)) -> c41(ACTIVE(first(mark(x0), active(0))), FIRST(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(first(x0, add(z0, z1))) -> c41(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))) -> c41(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))) -> c41(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)) -> c41(ACTIVE(first(mark(x0), active(nil))), FIRST(mark(x0), mark(nil)), MARK(x0), MARK(nil)) MARK(first(terms(z0), x1)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(recip(mark(z0))), mark(x1))), FIRST(mark(recip(z0)), mark(x1)), MARK(recip(z0)), MARK(x1)) MARK(first(sqr(z0), x1)) -> c41(ACTIVE(first(active(sqr(mark(z0))), mark(x1))), FIRST(mark(sqr(z0)), mark(x1)), MARK(sqr(z0)), MARK(x1)) MARK(first(s(z0), x1)) -> c41(ACTIVE(first(active(s(mark(z0))), mark(x1))), FIRST(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(first(0, x1)) -> c41(ACTIVE(first(active(0), mark(x1))), FIRST(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(first(add(z0, z1), x1)) -> c41(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)) -> c41(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)) -> c41(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)) -> c41(ACTIVE(first(active(nil), mark(x1))), FIRST(mark(nil), mark(x1)), MARK(nil), 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 Defined Pair Symbols: ACTIVE_1, TERMS_1, CONS_2, RECIP_1, SQR_1, S_1, ADD_2, DBL_1, FIRST_2, 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 Compound Symbols: c25_1, c27_1, c29_1, c31_1, c32_3, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c57_1, c58_1, c59_1, c60_1, c61_1, c62_1, c63_1, c64_1, c24_3, c26_3, c28_2, c30_2, c38, c42, 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, c33_3, c34_3, c34_1, c34_2, c35_3, c35_2, c36_3, c37_3, c37_2, c39_4, c40_3, c41_4, c_1, c1_1, c2_1